【问题标题】:how to read lines in a file and unread it once it has read in python如何读取文件中的行并在python中读取后取消读取
【发布时间】:2018-10-22 18:50:49
【问题描述】:

所以我正在编写一个从文件中读取行的 for 循环程序。

文件行如下所示:

程序:Python 用户:Cma 代码:1234

程序是这样的:

while True:
 with open('file.txt', 'r') as fp:
    for i in fp:
        data = i.split()
        program = data[1]
        user = data[3]
        code = data[5]
        total = program + user + code
        print(total)
        file.seek(-len(i),1)

    else:
        print("Program Put to sleep!")
        time.sleep(5)

我相信我在这段代码中的问题是一个逻辑错误。 该程序应该保持运行并不断检查文件。如果文件中有 3 行,它应该读取每一行然后取消读取,当它发现文件中没有更多行时,程序进入睡眠状态并从新的行条目开始循环。

在我编写的程序中,它从头开始读取。看了一些来自这个平台的例子,但没有帮助,所以想问。干杯

【问题讨论】:

标签: python file for-loop while-loop


【解决方案1】:

您可以尝试像这样删除file.seek 并更改with 语句吗:

for line in fp.readlines():
    data = line.split(" ")

【讨论】:

  • 我试过这种方法不符合程序的要求。我所做的编码完成了一半的工作,但它并没有停止读取读取的行。一旦for循环,循环回来它应该寻找文件中输入的新行,否则程序应该回到睡眠状态。
  • @cma1941 哦,好吧,那我错了。这没有帮助,抱歉。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-23
  • 2017-11-26
  • 2020-11-12
  • 2018-02-25
  • 1970-01-01
  • 2023-01-25
相关资源
最近更新 更多