[英]Two nearly same codes are giving different output in Python. Can anyone explain the reason?
[英]Two different files giving same output despite having different codes - PyQT5 and Python
我有以下两个文件:
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
ed。 为什么会发生这种情况,我该如何解决?
将datetime.py
重命名为其他名称,并删除目录__pycache__
(如果有)。 datetime
是标准的Python模块,但是您导入的是同名文件而不是文件,因此导致输出重复并进一步崩溃。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.