所以我有一个问题。我正在使用由 4 行的多个组成的 .txt 文件。我正在使用python 3。
我编写了一个代码,旨在获取文本文件的第 2 行和第 4 行,并仅保留这两行的前 20 个字符(同时保留第 1 行和第 3 行未编辑),并创建一个新的编辑文件,其中包含编辑了第 2 行和第 4 行以及未编辑的第 1 行和第 3 行。这种趋势对于每一行都是相同的,因为我使用的所有文本文件的行号总是 4 的倍数。
这适用于小文件(总共约 100 行),但我需要编辑的文件超过 5000 万行,需要 4 个多小时。
下面是我的代码。谁能给我一个关于如何加快我的程序的建议?谢谢!
import io
import os
import sys
newData = ""
i=0
run=0
j=0
k=1
m=2
n=3
seqFile = open('temp100.txt', 'r')
seqData = seqFile.readlines()
while i < 14371315:
sLine1 = seqData[j]
editLine2 = seqData[k]
sLine3 = seqData[m]
editLine4 = seqData[n]
tempLine1 = editLine2[0:20]
tempLine2 = editLine4[0:20]
newLine1 = editLine2.replace(editLine2, tempLine1)
newLine2 = editLine4.replace(editLine4, tempLine2)
newData = newData + sLine1 + newLine1 + '\n' + sLine3 + newLine2
if len(seqData[k]) > 20:
newData += '\n'
i=i+1
run=run+1
j=j+4
k=k+4
m=m+4
n=n+4
print(run)
seqFile.close()
new = open("new_100temp.txt", "w")
sys.stdout = new
print(newData)