在那里争取世界上最糟糕的冠军,但我基本上可以将这种奇怪的结合在一条线上。
这很好用:
dnow=datetime.datetime.now()
racetime = '2016-01-05 13:39:53.968000'
NewRaceTime = datetime.datetime.strptime(racetime, '%Y-%m-%d %H:%M:%S.%f')
timedifference = dnow - NewRaceTime
但是当以完全相同的格式从文件中读取比赛时间时,它将无效。
如果我删除了racetime = '2016-01-05 13:39:53.968000'
开始横向移动的东西。
如果我使用:
print racetime
它返回完全相同的2016-01-05 13:39:53.968000.
我在文件或IDE上看不到任何额外的空格或任何内容。据我所知,它完全相同。
但即使没有明显的差异,Python也在寻找一些东西:
Traceback (most recent call last):
File "C:/Users/Desktop/PycharmProjects/Project/Script.py", line 153, in <module>
NewRaceTime = datetime.datetime.strptime(racetime, '%Y-%m-%d %H:%M:%S.%f')
File "C:\Python27\lib\_strptime.py", line 328, in _strptime
data_string[found.end():])
ValueError: unconverted data remains:
我的设置没有区别
racetime = '2016-01-05 13:39:53.968000'
将其作为竞赛时间已经从文件中读取。未转换的数据仍然是空白或者其他东西,但似乎没有。
为了增加奇怪性,我使用了几乎与XML完全相同的东西并且它运行良好。读入时间设置为XML,Python的.text能够将其与当前时间进行比较而没有问题。
我无法绕过这个。看起来很蠢,我不知道有什么愚蠢的东西,但我在这里没有想法。
答案 0 :(得分:1)
您的文件末尾有一个新行\n
。你可以像这样剥掉它:
import datetime
dnow = datetime.datetime.now()
with open("test.txt", 'r') as f:
racetime = f.read()
racetime = racetime.rstrip()
NewRaceTime = datetime.datetime.strptime(racetime, '%Y-%m-%d %H:%M:%S.%f')
timedifference = dnow - NewRaceTime
print racetime
答案 1 :(得分:1)
一行结尾,例如&#39; \ r \ n&#39;可能是问题。