def square(sq):
grid = len(sq)
for line in sq:
if len(line) != grid:
raise ValueError
while True:
try:
filesname = input("Enter the filename:") + ".txt"
file = open(filesname,"r")
readFile = file.readlines()
file.close()
thelist = [line.strip() for line in readFile]
square(thelist)
print ("File has:")
print("\n".join(thelist))
except FileNotFoundError:
print ("The file name you have entered does not exist. Please try again.")
except ValueError:
print ("")
print ("Incorrect file format")
else:
break
我要打开的文件是:
A B C
B C A
C A B
我想打开文件并检查它是否是正方形网格,然后向用户报告是否存在。正如您所看到的,上面的文件是方格,但是我的程序说它不是。
当我执行此代码时,它会一直说“文件格式不正确”。我认为它与square函数有关,并且它没有考虑字母之间的空格,我不知道如何解决这个问题,任何人都可以帮助我吗?
答案 0 :(得分:3)
你有一个类似声音的问题:
>>> "A B C\n".split()
['A', 'B', 'C']
>>> "A B C\n".strip()
'A B C'
换句话说,请使用split()
,而不是strip()
。