【发布时间】:2020-05-20 18:42:08
【问题描述】:
我想尽可能避免在这里发布愚蠢的问题,但我不太确定如何自己解决这个问题。我正在尝试读取文件中的特定行(行号根本没有改变)但我得到了错误。我可以通过迭代来打印文件中的每一行,但是单独读取我需要的特定行(或除第 0 行之外的任何行)会抛出错误,尽管它在以前的版本中工作(最近的更改只是改组了行我需要向下 1,我根据需要调整了行号。
该函数区域出现错误:
with open("wallet.txt","r") as file:
rawcurrency = file.readlines()[0]
linesplit = rawcurrency.split(": ")
currency = linesplit[1]
rawbalance = file.readlines()[3]
linesplit = rawbalance.split(": ")
global balance
balance = linesplit[1]
这行抛出错误:
rawbalance = file.readlines()[3]
这是我正在读取的文件的外观:
Currency used: £
Creation Date: 20/05/2020 19:28:31
Starting Wallet Amount = 500.0
Balance: 500.0
如果解决方案很简单,我很抱歉。
【问题讨论】:
-
请添加完整的错误信息。它准确地告诉您(和我们)错误在哪里。
-
在抛出错误的行之前添加行
file.seek(0)。 Explanation. -
顺便说一句,您使用
file.readlines()读取了两次文件而没有重新打开它。第二次尝试读取时,您已经在文件末尾了。 -
file.seek(0) 完成了这项工作。谢谢你jfaccioni!从来不知道那条线。
标签: python