以下代码将在PyCharm上与Python3崩溃。
import locale
import logging
import logging.handlers
locale.setlocale(locale.LC_ALL, 'de_CH.UTF-8')
stream_handler = logging.StreamHandler()
stream_handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(message)s'))
logger = logging.getLogger(__name__)
logger.addHandler(stream_handler)
logger.error('testing')
代码应显示testing
。
PyCharm将崩溃并显示退出代码:
Python崩溃,显示“进程以退出代码-1073740940(0xC0000374)完成”
在Windows 10-10.0.17134内部版本17134,Python 3.6.3下进行了测试
我也已经在 Windows CMD 下使用以下命令对其进行了测试:
c:\Python361\python.exe -c "import locale; import logging; import logging.handlers; locale.setlocale(locale.LC_ALL, 'de_CH.UTF-8'); stream_handler = logging.StreamHandler(); stream_handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')); logger = logging.getLogger(__name__); logger.addHandler(stream_handler); logger.error('testing')"
应应打印testing
,但结束时没有任何输出。我也在Windows CMD上使用Python 3.7.3进行了测试,结果相同。
我还在 IDLE 上使用Python 3.6.1测试了代码:
import locale; import logging; import logging.handlers; locale.setlocale(locale.LC_ALL, 'de_CH.UTF-8'); stream_handler = logging.StreamHandler(); stream_handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')); logger = logging.getLogger(__name__); logger.addHandler(stream_handler); logger.error('testing')
哪些印刷品
'de_CH.UTF-8'
==============================重新启动:Shell ============== ==================
答案 0 :(得分:1)
我在此处的python问题页面后找到了解决方案
https://bugs.python.org/issue36792#msg342966
更改
locale.setlocale(locale.LC_ALL, 'de_CH.UTF-8')
到
locale.setlocale(locale.LC_ALL, 'de-CH')
解决了问题。