我正在做一些多线程的网络抓取,每个线程写100行代码到100个文件中。我检查以确保每个文件都有100行,然后进行合并。然后我检查以确保合并后的文件有10000行。只是这一次,合并后的文件似乎少了一行。所有其他运行都有10000行。你知道为什么合并后的文件少了一行吗?这是我用来合并的代码。我已经检查了所有输入文件是否都有100行。他们都是这样的。所以我不确定为什么合并后的文件少了一行。
with open(rf"data\run12.txt", "w", encoding="utf-8") as outfile:
for fname in filenames:
with open(fname, "r", encoding = "utf-8") as infile:
for line in infile:
outfile.write(line)发布于 2021-07-30 22:51:24
当文件的最后一行不是新行时,就会发生这种情况。我的一个输入文件没有在末尾写换行符,所以我在每个输入文件中有100行,但输出中只有9999行,这是因为在一个输入文件的末尾缺少换行符,导致它的最后一行与相邻输入文件的第一行合并。
https://stackoverflow.com/questions/68597693
复制相似问题