여러 번 여기에서 파일을 읽고 쓰는 데 rt
및 wt
모드를 사용하는 사람들을 보았습니다 .
예를 들면 :
with open('input.txt', 'rt') as input_file:
with open('output.txt', 'wt') as output_file:
...
문서화 된 모드를 보지 못했지만 open()
오류가 발생하지 않기 때문에 사용하는 것이 거의 합법적 인 것처럼 보입니다.
그것은 무엇이며 wt
vs w
와 rt
vs를 사용하는 것의 차이점이 r
있습니까?
답변
t
텍스트 모드를 나타냅니다. 텍스트 모드가 기본값이므로 r
및 rt
또는 w
및 사이에는 차이가 없습니다 wt
.
여기에 문서화 :
Character Meaning
'r' open for reading (default)
'w' open for writing, truncating the file first
'x' open for exclusive creation, failing if the file already exists
'a' open for writing, appending to the end of the file if it exists
'b' binary mode
't' text mode (default)
'+' open a disk file for updating (reading and writing)
'U' universal newlines mode (deprecated)
기본 모드는 'r'
(텍스트 읽기 용으로 열림,의 동의어 'rt'
)입니다.
답변
는 t
것을 의미, 텍스트 모드를 나타냅니다 \n
읽을 때 문자가 다시 파일에 기록 할 때 호스트 OS 라인 결말로 변환 될 것입니다. 텍스트 모드가 기본값이므로 플래그는 기본적으로 노이즈입니다.
이외의 U
모드 플래그는 표준 C 라이브러리의 fopen()
함수 에서 직접 가져 오며 , 이는 .NET 용 python2 문서 의 여섯 번째 단락에 문서화 되어 open()
있습니다.
내가 아는 한, t
C 표준의 일부가 아니며 C 표준의 일부가 아니므로 C 라이브러리의 많은 구현이 어쨌든 그것을 받아들이지 만 모두가 그렇게 할 것이라는 보장은 없으므로 모든 빌드에서 작동한다는 보장은 없습니다. 파이썬. 그것은 python2 문서가 그것을 나열하지 않은 이유와 어쨌든 일반적으로 작동하는 이유를 설명합니다. python3 워드 프로세서 가 공식 확인합니다.
답변
‘r’는 읽기 용, ‘w’는 쓰기 용, ‘a’는 추가 용입니다.
‘t’는 바이너리 모드에 따른 텍스트 모드를 나타냅니다.
여러 번 여기에서 파일을 읽고 쓰기 위해 rt 및 wt 모드를 사용하는 사람들을 보았습니다.
편집 : rb가 아닌 rt를 보았습니까?
이러한 함수는 일반적으로 여기에 설명 된 fopen 함수를 래핑합니다 .
http://www.cplusplus.com/reference/cstdio/fopen/
보시다시피 바이너리 모드에서 파일을 열기 위해 b를 사용하는 것을 언급합니다.
제공 한 문서 링크는 또한이 b 모드를 참조합니다.
‘b’를 추가하면 바이너리와 텍스트 파일을 다르게 취급하지 않는 시스템에서도 유용하며 문서로 사용됩니다.
답변
t
표시 text mode
https://docs.python.org/release/3.1.5/library/functions.html#open
리눅스에서 텍스트 모드와 바이너리 모드 사이에는 차이가 없습니다, 그러나, 창, 그들은 변환 \n
을 \r\n
할 때 텍스트 모드.