gpt4 book ai didi

python - PyQt5 和 datetime.datetime.strptime 之间的冲突

转载 作者:太空宇宙 更新时间:2023-11-04 05:23:08 25 4
gpt4 key购买 nike

所以我正在编写一个工具,可以使用基于 python 3.52 和 Qt5 的图形用户界面从文件中读取时间。最小化操作

datetime.datetime.strptime('Tue', '%a')

在隔离环境中工作,给出输出“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

知道哪里出了问题吗?

最佳答案

我可以重现您的问题:在调用 QtWidget 之后,

print(datetime.datetime.strptime('星期二', '%a'))

导致错误。

如果我在QtWidget之后执行

print(datetime.datetime.strptime('Die', '%a'))这行得通。

我位于瑞士,所以 Die 在德语中等同于 Tue

Qt 似乎以某种方式对区域设置产生了影响,因为 %A 和 %a 评估了本地工作日的名称(Datetime)。也许 Qt 专家可以更详细地解释正在进行的事情。

关于python - PyQt5 和 datetime.datetime.strptime 之间的冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39658719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com