比较Python中的变量

2024-10-01 07:44:54 发布

您现在位置: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)

下面是一个文本文件的示例:

^{pr2}$

我可以看到新旧版本在shell上的打印是相同的,所以不确定python为什么说它们不一样。在


Tags: thepathifoslineoutfilesameprint
2条回答

尝试使用删除空白

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

若这不起作用,其他原因可能是数据类型。尝试将全部转换为字符串类型。在

readlines()读取整行,包括下线字符。在比较或使用in运算符(或startswith()方法之前,需要去除此字符:

if lastModified == line0.strip():

应该为你工作。在

相关问题 更多 >