我正在尝试用python制作一个文本游戏/rpg。我得到了一个
line 89, in surv = int(statload.readline(3))
ValueError: invalid literal for int() with base 10: ''
尝试读取文件时的错误代码。周围的其他人读得很好。在
正在读取代码-
statload = open("Statsheet.txt","r")
luck = int(statload.readline(2))
surv = int(statload.readline(3))
statload.close
写入文件的代码-
^{pr2}$文本文件的内容-
45
40
我必须有“int”格式的“luck”和“surv”统计信息,就像后面的代码中使用的数学函数一样。我导入的模块是“sys”、“time”、“random”和“math”,如果有帮助的话。在
Edit-将变量放入JSON文件中,正如一位用户建议的那样,现在知道“readline”读取位值。谢谢!在
在您的例子中,
readline()
的参数是不必要的。只要放下它,代码就会工作:如果您好奇,
statload.readline(2)
读取前两个字符(45
),并将文件指针放在45
后面的新行之前。对readline()
的第二次调用只读取这一行,给您一个空字符串,该字符串会导致您得到异常。在当您省略参数时,
readline()
将简单地读取整行,而不管它有多长。在还请注意,调用
^{pr2}$close()
后缺少括号:您错误地使用了raedline。readline()中的参数应该是要从文件中读取的字节数,而不是要读取的行号。在
你想做的事情是这样的:
但是有更好的方法来存储统计信息等,而不是文本文件,每一行都意味着SQL、json等
它看起来就像执行luck=int之后(statload.readline文件(2) ),文件指针移动到文件末尾,没有其他内容可读取。试试这个:
相关问题 更多 >
编程相关推荐