gpt4 book ai didi

Python - 读取、解析和写回文件

转载 作者:行者123 更新时间:2023-11-28 19:34:17 25 4
gpt4 key购买 nike

我正在尝试从一个文本文件中读取大约 5000 行代码,然后解析并将解析后的值存储到另一个文本文件中。

但是,我只能对前 967 行执行此操作(如输出文件所示,其中仅包含前 967 行的解析值)。

这是我为完成这项工作编写的简单代码。

infile = open("Input.txt", "r")
outfile = open("Output.txt", "w")
for line in infile.readline():
temp = infile.readline()
value = temp.split("<_|_>")
outfile.write(value[1])

我将如何着手编写其他 4000 多个值?

最佳答案

因为您的 for 迭代不是在 infile 中的行上,而是在其第一行中的字符上。第一行可能有 967 个字符。

for line in infile.readline() 表示您正在将 infile 中的第一行作为字符串读取。字符串是可迭代的,就像迭代它们会迭代该字符串中的字符一样。因此,您每次都在为该行中的每个字符运行循环。

你想做的可能是这样的:

with open("Input.txt", "r") as infile, open("Output.txt", "w") as outfile:
for line in infile:
outfile.write(line.split("<_|_>")[0])

Python 中的文件对象也是可迭代的。迭代它们会迭代每一行。您可以改用for line infile.readlines()(注意:readlines,而不是readline),但是这将在迭代之前将 infile 中的所有行读取到一个巨大的数组中。直接在文件对象上迭代只会一次将最新读取的行保留在内存中。

关于Python - 读取、解析和写回文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14089083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com