我正在开发一个从文本文件中获取数据的项目,该值需要存储在变量中。但以下代码无法正常工作。有时它会有效,而有时它会返回
ValueError:基数为10的int()的无效文字:''
以下是使用的代码:
def main():
# Txt read
global id
input = open('data.txt', 'r')
lines = input.readlines()
i = 0
for line in lines:
i += 1
id = int(line)
main()
print id
数据将在单个int中,后跟文本文件中的新行。
任何帮助都将不胜感激。
答案 0 :(得分:1)
在您的代码中,您将只获取文件中的最后一个值,以获取所有值使用列表并将其存储在列表中,如果要计算总数,则不需要i
和i
的增量值使用len(id)
试试下面的代码
def main():
# Txt read
global id
id=[]
input = open('data.txt', 'r')
lines = input.readlines()
for line in lines:
if line.strip(): #Checking Non-Empty Line
id.append(int(line.strip()))
main()
print id
print "Total Valuse: "+str(len(id))
答案 1 :(得分:0)
换行符" \ n"是错误的。
def main():
# Txt read
global id
data = open('data.txt', 'r').read()
data = data+'0'
data = data.replace('\n','+0+')
id = eval(data)
main()
print(id)
答案 2 :(得分:0)
很少有事情
不要使用4w : 2d : 14h : 10m : 26s
作为变量,因为它是python中的内置函数。这不是一个好习惯。
此外,input
也恰好是内置函数,所以也要避免使用
另外,我建议将整个文件作为字符串读取,并根据id
进行拆分。这将帮助您在结束时删除额外的换行符(如果您愿意,可以启动)
您可以使用以下内容:
\n