python如何向文件最开始插入一个字符串?
高洛峰
高洛峰 2017-04-18 09:03:04
0
5
393

在尽量保证性能的情况下

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

모든 응답(5)
小葫芦

기존 파일 앞에 콘텐츠를 삽입하려는 경우 성능은 큰 문제가 되지 않습니다.
무슨 일이 있어도 이 파일의 내용을 다시 읽고 써야 하기 때문에 이는 파일 시스템의 로직에 따라 결정됩니다.

黄舟

file.seek(0) 0으로 설정된 오프셋으로, 맨 처음입니다.
file.tell()을 사용하여 확인할 수 있습니다.
두 개의 웹페이지를 참고하시면 됩니다.
https://docs.python.org/2/tutorial/inputoutput.html
http://www.tutorialspoint.com/python/file_seek.htm

阿神

탐색(0) 필요 없음

r+ 모델의 파일 ​​포인터는 파일의 시작 부분에 있습니다.

또한 파일 내용을 순회해야 합니다

PHPzhong

이 문제를 두 가지 측면에서 논의해 보겠습니다.

  1. 파일의 헤드나 중간에 효율적으로 콘텐츠를 삽입하는 방법은 시간이 적고(속도가 빠름) 리소스 활용도가 높다는 것을 의미합니다.

  2. 이 문제를 처리하기에 충분한 Python 코드를 작성하는 방법

먼저 내 결론을 말씀드리겠습니다(다른 의견이 있으시면 언제든지 토론해 주세요. 제가 틀렸을 수도 있습니다).

  1. 안 돼요

  2. 너무 형편없거나 읽기 어렵지 않은 한, 평범하거나 긴 코드가 괜찮다고 생각합니다.

  3. 그것을 증명하기 위해 위대한 신의 말을 인용:

Python은 많은 일을 쉽게 만들고 많은 일반적인 작업을 위한 라이브러리와 래퍼를 포함하고 있지만 목표는 근본적인 진실을 숨기는 것이 아닙니다.

여기서 접하게 되는 근본적인 사실은 일반적으로 전체 구조를 다시 작성하지 않고는 기존의 평면 구조 앞에 데이터를 추가할 수 없다는 것입니다.

파일 핸들을 저장하거나 코드를 읽기 어렵게 만드는 방법이 있습니다. 그 중 다수는 다른 답변에 제공되지만 기본 작업은 변경되지 않습니다. 기존 파일을 읽은 다음 앞에 추가할 데이터를 작성해야 합니다. , 읽은 기존 데이터가 이어집니다.

파일 핸들을 저장하되 이 작업을 가능한 한 적은 코드 줄로 압축하려고 하지 마세요. 실제로 가장 적은 코드 줄을 찾으려고 하지 마세요. 이는 프로그래밍이 아니라 난독화입니다.

작성자:

니콜라스 나이트

참고:

Python에서 기존 파일 앞에 한 줄 추가


내가 답변한 질문

: Python-QA

洪涛

처음에 직접 내용을 삽입할 수 있는 방법은 없으며 파일을 한 번 읽어야 합니다.
저는 이전에 이 문제에 대해 생각해 본 적이 있습니다. 저는 Python 프로젝트를 디컴파일하고 있었고 모든 파일을 일괄 처리해야 했습니다.

으아악

저도 당시에 여러 가지 방법을 찾아봤지만 소용이 없었습니다.
그래서 결국 가장 간단하고 폭력적인 방법을 사용했습니다. osd.walk을 사용하여 모든 Python 파일을 순회하고 처음에 내용을 새 파일에 쓴 다음 원본 파일의 내용을 읽고 작성하는 것입니다. 새 파일에 추가하면 새 파일의 이름이 원래 파일 이름으로 변경됩니다.
매우 폭력적이지만 나중에 알고 보니 파일 용량이 크지 않아서인지 실제로는 매우 빠른 편이었습니다. ^_^

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿