繁体   English   中英

比较python中的变量

[英]Comparing Variables in python

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

readlines()读取整行 ,包括EOL字符。 你需要你比较或使用之前剥离这个人物in运营商(或startswith()方法:

if lastModified == line0.strip():

应该适合你。

尝试使用删除空格

 if lastModified.strip() == line0.strip():
        print "last modified are the same"
    if fileSize.strip() == line1.strip():
        print "file size is the same"

如果这不起作用,其他原因可能是数据类型。 尝试将all转换为字符串类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM