[python] Python을 사용하는이 코드에서 ‘wb’는 무엇을 의미합니까?

암호:

file('pinax/media/a.jpg', 'wb')



답변

파일 모드 , 쓰기 및 바이너리. .jpg 파일을 작성하고 있으므로 괜찮아 보입니다.

하지만 jpg 파일을 읽으려면 'rb'

더 많은 정보

Windows에서 모드에 ‘b’가 추가되면 바이너리 모드로 파일이 열리므로 ‘rb’, ‘wb’및 ‘r + b’와 같은 모드도 있습니다. Windows의 Python은 텍스트와 바이너리 파일을 구분합니다. 텍스트 파일의 줄 끝 문자는 데이터를 읽거나 쓸 때 자동으로 약간 변경됩니다. 파일 데이터에 대한 이러한 비하인드 수정은 ASCII 텍스트 파일에 적합하지만 JPEG 또는 EXE 파일과 같은 바이너리 데이터를 손상시킵니다.


답변

wb파일이 바이너리 모드로 쓰기 위해 열을 나타냅니다.

바이너리 모드로 쓸 때 Python은 파일에 기록 될 때 데이터를 변경하지 않습니다. 그러나 텍스트 모드에서 ( b가 그냥 제외 w되거나를 사용하여 텍스트 모드를 지정할 때 wt) Python은 기본 텍스트 인코딩을 기반으로 텍스트를 인코딩합니다. 또한 Python은 줄 끝 ( \n)을 플랫폼 별 줄 끝으로 변환 하여 exe또는 png파일 과 같은 바이너리 파일을 손상 시킵니다.

따라서 텍스트 파일을 작성할 때는 텍스트 모드를 사용해야하며 (일반 텍스트 또는 CSV와 같은 텍스트 기반 형식을 사용하든) 이미지와 같은 텍스트가 아닌 파일을 작성할 때는 이진 모드를 사용해야합니다.

참조 :

https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files
https://docs.python.org/3/library/functions.html#open


답변

이것이 파일을 여는 모드입니다. “wb”는 파일 (w)에 쓰고 있고 바이너리 모드 (b)로 쓰고 있음을 의미합니다.

자세한 내용은 문서를 확인하세요 : clicky


답변