Python和Strptime变量设置或从文件读取时的差异,但值完全相同

2024-10-02 12:23:08 发布

您现在位置:Python中文网/ 问答频道 /正文

世界上最差的冠军在那里,但我基本上可以总结在一行这个怪异。你知道吗

这很好:

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时,它就不起作用了。你知道吗

如果我去掉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'

并将其保留为racetime已从文件中读取。对我来说,未转换的数据仍然是空白,但似乎没有。你知道吗

更奇怪的是,我在XML中使用了几乎完全相同的东西,而且效果很好。读入时间,将其设置为.text,从XML和Python中可以将其与当前时间进行比较,没有任何问题。你知道吗

我不能把我的头缠在这上面。看起来很愚蠢,我肯定错过了一些愚蠢的东西,但我已经没有主意了。你知道吗


Tags: 文件inpydatadatetimeline时间世界
2条回答

以'\r\n'结尾的行可能是问题所在。你知道吗

文件末尾有一个新行\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

相关问题 更多 >

    热门问题