파이썬 2.6에서는 파일을 행 (문자열)으로 검색하고 발견 한 후 파일에 행을 삽입하는보다 효율적인 방법이 있습니까? 따라서 출력 파일은 몇 줄을 추가 한 입력 파일과 동일합니다. 또한 파일이 매우 클 수 있기 때문에 이러한 파일을 버퍼로 읽지 않을 것입니다.파일의 행 사이에 새로운 데이터를 삽입하는 가장 효율적인 방법
지금 당장 필자는 찾고자하는 줄을 찾은 다음 임시 파일에 여분의 데이터를 삽입 할 때까지 줄 단위로 파일을 읽고 임시 파일에 쓰고 있습니다. 나머지 데이터는 임시 파일에 씁니다. 파일 처리가 끝나면 이전 파일을 새 임시 파일로 덮어 씁니다. 이 같은 뭔가 : 어떻게 든 그것을 속도를 높일 수있는 경우
with open(file_in_read, 'r') as inFile:
if os.path.exists(file_in_write):
os.remove(file_in_write)
with open(file_in_write, 'a') as outFile:
for line in inFile:
if re.search((r'<search_string',line):
write_some_data(outFile)
outFile.write(line)
else:
outFile.write(line)
os.rename(src,dst)
난 그냥 궁금 해서요.
가능한 중복 https://stackoverflow.com/questions/1325905/inserting-line-at-specified-position- : 당신은 당신의 코드를 단순화 할 수 있습니다 텍스트 파일) –