2012-11-16 2 views
3

잠시 동안이 문제가 발생했습니다. 파이썬으로 파일을 열어서 계속 쓰지 만 이전에 썼던 것을 덮어 쓰지 않으려면 어떻게해야합니까? 예를 들어파이썬 : 파일에 쓰기

:

아래 코드는 '출력은 OK입니다'작성합니다. 그런 다음 몇 줄을 덮어하고 그냥

'완료'될 것입니다하지만 모두

f = open('out.log', 'w+') 
f.write('output is ') 
# some work 
s = 'OK.' 
f.write(s) 
f.write('\n') 
f.flush() 
f.close() 
# some other work 
f = open('out.log', 'w+') 
f.write('done\n') 
f.flush() 
f.close() 

내가되고 싶은 파일에 을 '완료' '출력은 OK이다'싶어 간격을두고 자유롭게 열어 쓸 수 있습니다. 닫아. 그런 다음 과정을 반복합니다.

어떤 도움을 주셔서 감사합니다. D

답변

8

파일을 추가 모드로 엽니 다. 존재하지 않는 경우가 생성되고이 존재하는 경우가 더 쓰기의 끝에서 열립니다 :

with open('out.log', 'a') as f: 
    f.write('output is ') 
    # some work 
    s = 'OK.' 
    f.write(s) 
    f.write('\n') 

# some other work 
with open('out.log', 'a') as f: 
    f.write('done\n') 
+1

with open("test.txt", "a") as myfile: myfile.write("appended text") 
Eric

+0

python2 만 done'' : 인쇄 –

2

그냥 통과 'A'인수로 당신이 그것을 콘텐츠를 추가 할 파일을 열 때. 당신이 쓰기 모드에서 파일을 열 때마다이 파일의 내용이 전멸 얻을 때문에

f = open('out.log', 'a') 

다음 doc

f = open('out.log', 'a') 
2

당신은 추가 모드에서 두 번째로 파일을 열 필요가 참조 .

2

첫 번째 쓰기가 끝나면 f = open('out.log', 'a')에서 까지 텍스트에 파일 내용을 추가해야합니다.

는`할 인쇄 >> F 수 잊지 마세요, 'python3에 대한 :)
2
('완료 ', 파일 = F)