比较文件和列表以查看它们是否相同

时间:2015-11-02 14:52:57

标签: python list file

我有一个包含数字1-100的文件和一个包含相同数字的列表。我在比较它们并检查它们是否相同时遇到了一些问题。 到目前为止,这是我的代码:

f = open("tall.txt", "w")

for i in range(101):
f.write(str(i) + "," + " ")

f.close()


with open('tall.txt') as a:
    lines = a.read().splitlines()

tall = []

for i in range(101):
    tall.append(i)

for (i,t) in zip(lines,tall):
    if i != t:
        print("Does not match")
        break
 #else:
    print("Match")
    break

我到目前为止遇到的问题是,如果我打印行以['并以'结尾'开头,因此与其他列表不匹配。

我该如何解决这个问题?这是一个更简单的方法来完成整个过程吗?

感谢。

1 个答案:

答案 0 :(得分:1)

splitlines()通过将\n或换行符视为分隔符来读取您的python文件。但是,在\n逻辑期望的每个数字之后,在程序的第一步写入的文件没有match。因此问题。

以下修改后的代码可以正常工作。我删除了,并在写入文件时将其更改为\n。此外,检查条件i!=t应为i!=str(t)

   f=open("tall.txt", "w")

    for i in range(101):
      f.write(str(i) + "\n")

    f.close()


    with open('tall.txt') as a:
        lines = a.read().splitlines()

    tall = []

    for i in range(101):
        tall.append(i)

    for (i,t) in zip(lines,tall):
        if i != str(t):
            print("Does not match")
            break
     #else:
        print("Match")
        break