그러나 ',' > > 인쇄하십시오, 점점 더 이상 사용되지 않는 것으로 보인다. What is the 권장됨 방법으로 선 위에?
< b> Update< /b>:;;; 이에 대해 ',' 모든 이들 질문에 대한 답변을 통해, 이러한 범용 또는 " \n" .is 특정 bsbab-unix? 즉, ',' 를 하고, 저 " \r\n" indows?
이 같은 단순한 합니다.
with open('somefile.txt', 'a') as the_file:
the_file.write('Hello\n')
문서에서:
>. '선' 으로 쓸 때 열린 터미네이터입니다 오스트리네세프 사용하지 않는 파일을 텍스트 모드 (기본값). # 39, & # 39 한 \n& 사용합니다. 대신 모든 플랫폼에서.
몇 가지 유용한 판독값:
이 때문에 파이썬 2.6+ 콩지름에 보기인쇄 () '기능을 사용할 수 있는'
from __future__ import print_function # Only needed for Python 2
print("hi there", file=f)
대체 약간만이라도 사용할 수 있습니다.
f = open('myfile', 'w')
f.write('hi there\n') # python will convert \n to os.linesep
f.close() # you can omit in most cases as the destructor will call it
[파이썬 문서용으로] [1] 대한 심판을 받은 줄 바꿈. 줄 바꿈 없는 & # 39 의 경우, 모든 출력입니다 >, ',' 문자를 기록되었으므로 \n& # 39 로 변환됩니다. ',' 시스템 기본값입니다 선 분리자를 오스트리네세프. & # 39, & # 39 는 ',' 줄 바꿈 없는 경우, 번역 수행되는지. 줄 바꿈 '& # 39 는 경우 다른 모든 법적 값뿐만 \n&, 어떤 주어진 구체화하십시오. # 39' 문자를 기록되었으므로 변환됩니다.
[1]: https://docs.python.org/2/tutorial/inputoutput.html # 파일 읽기 및 쓰기
파이썬 docs 이 추천합니까 this way.
with open('file_to_write', 'w') as f:
f.write('file contents')
따라서 이것은 일반적으로 the way I do it:)
성명을 통해 docs.python.org:
>. # 39 를 사용하는 것이 좋습니다 & # 39, with& 키워드 파일 다룰 때, >. 객체에는. 이 후 해당 파일이 제대로 닫을 수 있다. >. 예외적으로 뚜르산을 경우에도 해당 suite 마친 길에. 이는 >. 또한 먹어서나 avamer 결국 시도하시겠습니까 블록 훨씬 짧은 편이다.
정확한 편집되지 않은 파이썬 인터프리터 세션용으로 슬라이드에서는 2.7.1 Windows 의:
Python 2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.linesep
'\r\n'
>>> f = open('myfile','w')
>>> f.write('hi there\n')
>>> f.write('hi there' + os.linesep) # same result as previous line ?????????
>>> f.close()
>>> open('myfile', 'rb').read()
'hi there\r\nhi there\r\r\n'
>>>
, 는 예상대로 '& # 39 로, 같은 결과를 얻을 수 없는 오스트리네세프 \n& # 39,'. 이 같은 결과를 생산할 수 있는 길이 없다. # 39, & # 39 아아아안녀어엉 there& '. # 39, & # 39, '+' 와 동등한 오스트리네세프 아아아안녀어엉 there\r\n& ',' # 39, & # 39 에 해당하는 것은 원하는거요 , 아아아안녀어엉 there\n& '.
비 windows 시스템, it 잘못된 결과를 얻을 수 없는 시점으로든지 오스트리네세프 사용하여 Windows 의.
내가 생각지 correct" " 있습니다;; 것입니다.
내가 사용하게 된다.
with open ('myfile', 'a') as f: f.write ('hi there\n')
[팀 아첨하다] 에서 추모 (http://en.wikipedia.org/wiki/There% 27s_more_than_one_way_to_do_it).
아마도 많은 데이터를 쓸 경우 및 속도용 문제가 함께 "" 'f.라이트 (.) "' 합니다. I did a 보다 상당히 빠른 속도 비교, 자신도 "'보기인쇄 (., 파일 = f)"' 대규모 수행할 때 쓰기뿐만.
import time
start = start = time.time()
with open("test.txt", 'w') as f:
for i in range(10000000):
# print('This is a speed test', file=f)
# f.write('This is a speed test\n')
end = time.time()
print(end - start)
반면, "write" 평균 "print" '내 컴퓨터' 에 머물렀다 2.45s 한 뒤 약 4 배 (9.76s). 대부분 실제 시나리오용으로 있다는 것, 이 문제가 되지 않습니다.
검색하기를 선택하면 함께 "'보기인쇄 (., 파일 = f)', 'you want to # 39 you& 되는 것으로, 또는 ll 억제할지 줄 바꿈 수시로 바꿀 something else. 이 작업을 수행할 수 있습니다 (옵션) 을 설정하여 "'end', '매개변수입니다 (예:
with open("test", 'w') as f:
print('Foo1,', file=f, end='')
print('Foo2,', file=f, end='')
print('Foo3', file=f)
start = start = time.time()
long_line = 'This is a speed test' * 100
with open("test.txt", 'w') as f:
for i in range(1000000):
# print(long_line, file=f)
# f.write(long_line + '\n')
end = time.time()
print(end - start, "s")
지금 이 시간, 평균 2.20s 훨씬 덜 되어 있는 성능 차이가 심하다 "'쓰기' 에 대해" print "3.10s '와'. 연결 할 경우 a bunch of 문장열 afaq afnor 루오용 라인 성능 고통받을거야 도왔으매 사용 "print" 는 좀 더 효율적으로 사용할 수 있는 '아니하였으매 드물다.
이후 3.5 [파트리브] [1] 이를 위해 사용할 수도 있습니다. >. Path.write_text (데이터, 인코딩입니다 = 없음, 오류뿐만 = 없음)
>. 텍스트 모드에서 파일을 열 abc. 데이터를 쓸 수 있으며, 이를 닫으십시오 파일:
import pathlib
pathlib.Path('textfile.txt').write_text('content')
[1]: https://docs.python.org/3/library/pathlib.html # pathlib.Path.write_text
& # 39 끝난 줄 수 있는 일부 시리얼화된 자를 때 횡격막탈장의 무슨뜻이냐믄 \n& # 39;; 문자를 사용할 수 있습니다. 그래서 우리는, & # 39 마지막 선 제공하십시오 일부 지점에서 \n& # 39 고려해야 합니다. 끝날 때마다 할말이다 다음은 해결책:
with open('YOURFILE.txt', 'a') as the_file:
the_file.write('Hello')
커서 이동 후 각 모드가 있는 덮어쓰기/추가 기록하십시오 w& # 39, & # 39, 뉴 라인 사용할 경우 # 39, & # 39 \n& 모드이면 추가해야 합니다. 말 문자를 쓰기 () 함수:
the_file.write('Hello'+'\n')
신규 라인을 쓸 때, 나는 데릭쉐퍼드와 많이유 정의하시려면 사용하는 '' 인쇄하십시오 람다 함수.
out = open(file_name, 'w')
fwl = lambda *x, **y: print(*x, **y, file=out) # FileWriteLine
fwl('Hi')
이러한 접근 방식의 이점을 활용할 수 있도록 필요한 모든 기능을 사용할 수 있는 '인쇄하십시오' 기능을.
from functools import partial
fwl = partial(print, file=out)
이럴 경우 이 것이 더 기능 및 리스토어할 모호한 외곽진입.