私は、Python 3.52とQt5に基づくグラフィカルユーザインタフェースを使用してファイルから時間を読み取るツールを書いていました。最小操作PyQt5とdatetime.datetime.strptimeとの間の競合
3210出力は "1900-01-01 00:00:00"という出力を与えます。私は、次の最小限の例
import sys
import datetime as datetime
from PyQt5 import QtWidgets
if __name__ == '__main__' :
print(datetime.datetime.strptime('Tue', '%a'))
app = QtWidgets.QApplication(sys.argv)
print(datetime.datetime.strptime('Tue', '%a'))
#sys.exit(app.exec_())
を実行したときしかし、私は、出力
1900-01-01 00:00:00
Traceback (most recent call last):
File "/home/user/gui/testfile.py", line 11, in <module>
print(datetime.datetime.strptime('Tue', '%a'))
File "/usr/lib/python3.5/_strptime.py", line 510, in _strptime_datetime
tt, fraction = _strptime(data_string, format)
File "/usr/lib/python3.5/_strptime.py", line 343, in _strptime
(data_string, format))
ValueError: time data 'Tue' does not match format '%a'
だから、のstrptimeルーチンへの最初の呼び出しが正常に動作しますが、はQApplicationクラスが作成された後に取得しますそれ以上は動作しません。さらに QApplicationを使用してGUIを構築し、それを使って多くの複雑なことを行うことに注意してください。現在動作しないのは strptime
何が問題になるのでしょうか?
によって強制ローカライズを元に戻す方法を発見した、それがクラッシュしませんここで(3.5.1 x64、QT_VERSION_STR = 5.7.0、PYQT_VERSION_STR = 5.7、win7) – BPL