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は が含まれていますが、クラスメソッドからの 2 番目の呼び出しで__init()__エラーがスローされます。Python と PyQt の経験が十分でないため、これを修正する方法がわかりません。そして、スタックオーバーフローやグーグルで答えが見つかりませんでした。

4

1 に答える 1

1

QApplicationスタートアップは'Wed, 06-Feb-2014 12:05:12'、有効な日付ではなくなるようにロケールを変更しています(つまり、曜日と月の名前は別の言語になっています)。を使用してアプリケーションを実行してみてくださいLC_ALL="C"

于 2013-02-04T12:18:23.667 に答える