[python] 매번 새 줄의 파일에 문자열 쓰기

전화 할 때마다 문자열에 줄 바꿈을 추가하고 싶습니다 file.write(). 파이썬에서 가장 쉬운 방법은 무엇입니까?



답변

“\ n”을 사용하십시오.

file.write("My String\n")

참조 파이썬 설명서를 참조하십시오.


답변

두 가지 방법으로이 작업을 수행 할 수 있습니다.

f.write("text to write\n")

또는 Python 버전 (2 또는 3)에 따라 :

print >>f, "text to write"         # Python 2.x
print("text to write", file=f)     # Python 3.x


답변

당신이 사용할 수있는:

file.write(your_string + '\n')


답변

광범위하게 사용한다면 (많은 글을 쓰는 경우) ‘file’을 서브 클래 싱 할 수 있습니다.

class cfile(file):
    #subclass file to have a more convienient use of writeline
    def __init__(self, name, mode = 'r'):
        self = file.__init__(self, name, mode)

    def wl(self, string):
        self.writelines(string + '\n')

이제 원하는 기능을 수행하는 추가 기능 wl을 제공합니다.

fid = cfile('filename.txt', 'w')
fid.wl('appends newline charachter')
fid.wl('is written on a new line')
fid.close()

어쩌면 다른 줄 바꿈 문자 (\ n, \ r, …)와 같은 것이 없거나 마지막 줄도 줄 바꿈으로 끝나지 만 나에게 효과적입니다.


답변

당신은 할 수 있습니다 :

file.write(your_string + '\n')

다른 답변에서 제안한 것처럼 file.write두 번 호출 할 때 왜 문자열 연결 (느린, 오류가 발생하기 쉬운)을 사용 합니까?

file.write(your_string)
file.write("\n")

쓰기는 버퍼링되므로 동일한 내용에 해당합니다.


답변

file_path = "/path/to/yourfile.txt"
with open(file_path, 'a') as file:
    file.write("This will be added to the next line\n")

또는

log_file = open('log.txt', 'a')
log_file.write("This will be added to the next line\n")


답변

참고로 file지원되지 않으며 Python 3제거되었습니다. open내장 기능으로 동일하게 수행 할 수 있습니다 .

f = open('test.txt', 'w')
f.write('test\n')