我有一个包含数字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
我到目前为止遇到的问题是,如果我打印行以['并以'结尾'开头,因此与其他列表不匹配。
我该如何解决这个问题?这是一个更简单的方法来完成整个过程吗?
感谢。
答案 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