比较python中的变量

时间:2014-03-29 07:22:48

标签: python compare

我将修改后的日期和文件大小保存到单独行的文本文件中。然后我打开文本文件,逐行阅读并将旧的修改日期和文件大小与新文件进行比较。即使他们匹配,我也不能为我的生活让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说它们不一样。

2 个答案:

答案 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转换为字符串类型。