我有以下两个文件:
datetime.py
#! /usr/bin/python3.6
from PyQt5.QtCore import QDate, QTime, QDateTime, Qt
now = QDate.currentDate()
print(now)
print(now.toString(Qt.ISODate))
print(now.toString(Qt.DefaultLocaleLongDate))
datetime = QDateTime.currentDateTime()
print(datetime)
print(datetime.toString())
time = QTime.currentTime()
print(time)
print(time.toString(Qt.DefaultLocaleLongDate))
print("\n")
print("UTC Time: " + datetime.toUTC().toString(datetime.offsetFromUtc()))
开始时运行良好,但是经过几次运行后,我得到了以下结果:
PyQt5.QtCore.QDate(2018, 8, 19)
2018-08-19
Sunday, August 19, 2018
PyQt5.QtCore.QDateTime(2018, 8, 19, 21, 47, 36, 885)
Sun Aug 19 21:47:36 2018
PyQt5.QtCore.QTime(21, 47, 36, 885)
9:47:36 PM MDT
UTC Time: Mon Aug 20 03:47:36 2018 GMT
Segmentation fault (core dumped)
分割错误一开始并不存在,它只是开始弹出。
然后我创建了一个新文件:
daysto.py
#! /usr/bin/python3.6
from PyQt5.QtCore import QDate
xmas1 = QDate(2017, 12, 25)
xmas2 = QDate(2018, 12, 25)
daysToAnniversary1 = QDate(2018, 3, 3)
daysToAnniversary2 = QDate(2019, 3, 3)
now = QDate.currentDate()
daysPassed = xmas1.daysTo(now)
print(daysPassed)
我看到的结果是:
PyQt5.QtCore.QDate(2018, 8, 19)
2018-08-19
Sunday, August 19, 2018
PyQt5.QtCore.QDateTime(2018, 8, 19, 21, 47, 36, 885)
Sun Aug 19 21:47:36 2018
PyQt5.QtCore.QTime(21, 47, 36, 885)
9:47:36 PM MDT
UTC Time: Mon Aug 20 03:47:36 2018 GMT
Segmentation fault (core dumped)
所以基本上,我正在运行两个不同的文件,但是我仍然看到相同的输出-这很奇怪,因为第二个文件应该只是给我一个数字。我将文件复制到我的主目录,并且工作正常。但是,只要我在该目录中,它就不会起作用。我使用的是Ubuntu 18,并且我的这些文件是chmod +x
版。为什么会发生这种情况,我该如何解决?
答案 0 :(得分:1)
将datetime.py
重命名为其他名称,并删除目录__pycache__
(如果有)。 datetime
是标准的Python模块,但是您导入的是同名文件而不是文件,因此导致重复的输出并进一步导致崩溃。