2013-02-04 49 views
2

例如,我有這個簡單的類:datetime.strptime PyQt4中QtGui.QWidget不起作用繼承

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或google上找到答案。

+1

您複製了您的代碼,它在此處運行良好 – warvariuc

回答

1

QApplication啓動正在改變您的語言環境,使得'Wed, 06-Feb-2014 12:05:12'不再是有效的日期(即星期幾和月份名稱使用另一種語言)。嘗試使用LC_ALL="C"運行您的應用程序。

+0

謝謝!現在它的工作正常! – SleepWalker