当这个程序打开一个包含数字的文件并按顺序打印它们时,我一直在做的一件事。文件NewFile.txt
包含
1
2
3
8
3
6
1
8
3
9
10
它应该做的是去想每一行设置它作为一个变量,然后把它的顺序,但我不断得到的错误
ValueError: invalid literal for int() with base 10: ''
此时输入分数位是无用的。你知道吗
以下是迄今为止的代码:
Test = (input("Enter Score: "))
ffs = open("NewFile.txt", "r+")
p = 0
for i in range(1, 10):# numbers going to fine
for u in range (1, 10):#lines Going to read
p = (p+1)
a = int(ffs.readline())
if a == i:
print (a)
file.readline()
完成读取时返回空字符串。空字符串不能转换为整数。你知道吗到达文件末尾是因为您正试图读取81次;外循环运行9次,内循环运行9次,从而得到9*9==81次迭代。你的文件里没有那么多行。你知道吗
您可以将文件读入一个列表:
或者在输入文件的所有行中循环一次并在读取时处理数字:
您仍然可以在这里遇到一个空的行;您可以用
if line.strip():
测试它。你知道吗相关问题 更多 >
编程相关推荐