我试图从文本文件中读取大约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])
Run Code Online (Sandbox Code Playgroud)
如何编写其他4000多个值?
Dol*_*000 17
因为您的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])
Run Code Online (Sandbox Code Playgroud)
Python中的文件对象也是可迭代的.迭代它们遍历每一行.您可以使用for line in infile.readlines()
(注意:readlines
,而不是readline
),但infile
在迭代之前,这将读入一个巨大的数组中的所有行.直接在文件对象上进行迭代只能将最新的读取行保留在内存中.
归档时间: |
|
查看次数: |
28339 次 |
最近记录: |