2010-07-14 2 views
-3

가능한 중복 :
How do I modify program files in Python?삽입 텍스트

은 내가 beginnnig에서 일부 텍스트와 텍스트 파일의 각 줄의 끝을 삽입해야합니다. 어떻게 이렇게 파이썬을 사용할 수 있습니까?

+2

같은 질문을 두 번씩 묻지 마십시오. 그것은 성가신 일이며 우리는 그것을 알아 차립니다. http://stackoverflow.com/questions/3250393/python-writing-programs – Wilduck

+0

이 질문은 다른 질문 (3250393)보다 명확하게 설명되어 있지만. –

+0

그게 내가 질문을 다시 작성한 이유입니다 ... – novak

답변

0

첫째, 열 입력 및 출력 파일 ...

infile = open('inputfile', 'r') 
outfile = open('outputfile', 'w') 

... 라인을 통해 다음 루프 ...
for line in infile: 

... 처음에 콘텐츠를 추가 할 수 있습니다. ..

newline = "stuff for beginning of line" + line 

... 후 출력 라인 쓰기

,
outfile.write(newline) 

... 마지막으로 파일을 닫는 것을 잊지 마세요!

infile.close() 
outfile.close() 

은 또는, 여기에 더 "파이썬"입니다 짧은 버전입니다. (이것은 한 번에 전체 파일에 짜증 있습니다, 그래서 정말 큰 파일을 위해 그것을 사용하지 않는, 또는 그것은 빨아 것이다!) :

with open('inputfile', 'r') as infile: 
    lines = infile.readlines() 
with open('outputfile', 'w') as outfile: 
    outfile.write("prefix-" + "prefix-".join(lines)) 
+1

-1 (1)'line'을 게시하고'lines'의 각 요소는 거의 항상 ' \ n "'- 왜 각 행에 다른 행을 추가합니까? (2)'with ... in :'- SyntaxError ('in'은 키워드입니다) (3)'newline'은 찬란한 이름입니다 ...'output_line'을 시도하십시오 –

+0

아, 좋은 지적은 ... 나는 생각하고 있었다. 'readline()'은 다른 언어에서와 같이 줄에서 '\ n'을 제거했다. 이 경우에는 "개행"이라고하는 것이 적절하다고 생각합니다! – ewall

0

를 정기적으로이 특정 작업을 수행하지 않는 한, 당신은 파이썬 스크립트가 필요 없다. 프로그래밍을 염두에두고 작성된 대부분의 편집기 (Vim, Emacs, Notepad ++ 등)는 일종의 정규식 기반 검색을 지원하고 대체합니다. 간단한 정규 표현식을 사용하여 편집기에서 큰 따옴표의 모든 라인을 포장한다 "\1"^\(.*\)$ 교체

. 어떤 도구를 사용 하느냐에 따라 더 쉬운 방법으로 수행 할 수도 있습니다. 예 : Sed 또는 Vim을 사용하여 줄 단위로 대체 할 경우 .*"&"으로 바꾸는 작업은 동일한 작업을 수행합니다.

정규 표현식에 익숙하지 않은 사용자라면 좋은 자습서로 인터넷 검색을 적극 권장합니다. Linux/Unix를 사용하는 경우 Daniel Robbins의 three-part introduction to Sed을 확인하십시오. 정규 표현식에 대한보다 일반적인 소개는 this page을 참조하십시오.

관련 문제