2

例如我有这个简单的类:

from PyQt4 import QtGui, QtCore
import sys
from datetime import datetime

print datetime.strptime('Wed, 06-Feb-2014 12:05:12', '%a, %d-%b-%Y %H:%M:%S')

class Application(QtGui.QWidget):

    def __init__(self):
      super(Application, self).__init__()
      print datetime.strptime('Wed, 06-Feb-2014 12:05:12', '%a, %d-%b-%Y %H:%M:%S')

def main():

    app = QtGui.QApplication(sys.argv)
    ex = Application()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()  

当我运行它时,我有以下输出:

2014-02-06 12:05:12
Traceback (most recent call last):
  File "vkPlayListSync.py", line 23, in <module>
    main()    
  File "vkPlayListSync.py", line 18, in main
    ex = Application()
  File "vkPlayListSync.py", line 12, in __init__
    print datetime.strptime('Wed, 06-Feb-2014 12:05:12', '%a, %d-%b-%Y %H:%M:%S')
  File "/usr/lib/python2.7/_strptime.py", line 325, in _strptime
    (data_string, format))
ValueError: time data 'Wed, 06-Feb-2014 12:05:12' does not match format '%a, %d-%b-%Y %H:%M:%S'

所以第一行带有strptime,但第二个调用形式的类__init()__方法会引发错误。我在 Python 和 PyQt 方面没有足够的经验,所以无法理解如何解决这个问题。而且我还没有在 stackoverflow 或谷歌上找到答案。

4

1 回答 1

1

QApplication启动正在更改您的区域设置,从而'Wed, 06-Feb-2014 12:05:12'不再是有效的日期(即工作日和月份名称是另一种语言)。尝试使用LC_ALL="C".

于 2013-02-04T12:18:23.667 回答