我将修改后的日期和文件大小保存到单独行的文本文件中。然后我打开文本文件,逐行阅读并将旧的修改日期和文件大小与新文件进行比较。即使他们匹配,我也不能为我的生活让python同意他们是一样的。我做错了什么,我该如何纠正呢?
def check(movFile):
lastModified = "%s" % time.ctime(os.path.getmtime(movFile))
fileSize = "%s" % os.path.getsize(movFile)
if os.path.isfile(outFile):
checkFile = open(outFile, "r")
line = checkFile.readlines()
line0 = line[0]
line1 = line[1]
if lastModified == line0:
print "last modified are the same"
if fileSize == line1:
print "file size is the same)
以下是文本文件的示例:
Mon Jul 8 12:32:16 2013
7165528
我可以看到旧的和新的都是相同的打印到shell,所以不确定为什么python说它们不一样。
答案 0 :(得分:2)
readlines()
读取整行,包括EOL字符。在比较或使用in
运算符(或startswith()
方法之前,您需要删除此字符:
if lastModified == line0.strip():
应该适合你。
答案 1 :(得分:1)
尝试使用
删除空格 if lastModified.strip() == line0.strip():
print "last modified are the same"
if fileSize.strip() == line1.strip():
print "file size is the same"
如果这不起作用,其他原因可能是数据类型。尝试将all转换为字符串类型。