尽管代码不同,但两个不同的文件仍提供相同的输出-PyQT5和Python

时间:2018-08-20 03:57:36

标签: python pyqt5

我有以下两个文件:

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版。为什么会发生这种情况,我该如何解决?

1 个答案:

答案 0 :(得分:1)

datetime.py重命名为其他名称,并删除目录__pycache__(如果有)。 datetime是标准的Python模块,但是您导入的是同名文件而不是文件,因此导致重复的输出并进一步导致崩溃。