>>> file = open('foo.txt')
>>> file.seek(2)
2
>>> file.read(1)
'\n'
>>> file.tell()
4
왜 현재 위치가 1 문자 앞으로 이동하지 않았습니까? '\n'
는 1 문자로되어 있지 않습니까? 파일의 처음 4 개 라인의파이썬에서 텍스트 파일의 Null 문자
내용 :
@1 PS
@ @ 2
@ : 나는 창문에 있어요.
>>> file = open('foo.txt')
>>> file.seek(2)
2
>>> file.read(1)
'\n'
>>> file.tell()
4
왜 현재 위치가 1 문자 앞으로 이동하지 않았습니까? '\n'
는 1 문자로되어 있지 않습니까? 파일의 처음 4 개 라인의파이썬에서 텍스트 파일의 Null 문자
내용 :
@1 PS
file.tell()
for a text file의 값을 해석하지 마십시오. 스트림의 위치를 나타내는 불투명 한 숫자입니다 (file.seek()
에 전달할 수 있음).
텍스트 파일에서 file.read(1)
은 바이트가 아닌 하나의 유니 코드 문자 (코드 포인트)를 읽습니다. 텍스트 파일을 읽는 데 사용 된 문자 인코딩에 따라 하나의 유니 코드 코드 포인트가 1에서 4 바이트 (일반적으로) 일 수 있습니다.
기본값은 유니버설 개행 모드입니다. '\r\n'
, '\r'
, '\n'
은 모두 '\n'
으로 번역됩니다.
파일 내용을 바이트로 보려면 이진 모드 ('rb'
)로 엽니 다. file.tell()
이 경우 바이트 단위의 리턴 위치.
b'\0'
(null 바이트)은 Windows에서 일반적으로 나타나는 utf-16 인코딩을 나타냅니다.
두 번째 위치에 커서를 놓고 세 번째 문자를 읽고 앞으로 이동하면 이제 네 번째 위치에 있습니다. 아니? – alfasin
NO! 다른 캐릭터의 경우 한 위치 앞으로 이동합니다! – Amen
파일의 내용을 게시하십시오. – alfasin