programing

파이썬을 사용하는 이 코드에서 'wb'는 무엇을 의미합니까?

testmans 2023. 7. 29. 08:16
반응형

파이썬을 사용하는 이 코드에서 '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은 기본 텍스트 인코딩을 기반으로 텍스트를 인코딩합니다.추가적으로, 파이썬은 줄의 끝을 변환할 것입니다.\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

이것이 파일을 여는 모드입니다."filename"은 사용자가 파일(w)에 쓰고 있고 이진 모드(b)에 쓰고 있다는 것을 의미합니다.

자세한 내용은 설명서를 참조하십시오: clicky

바이너리 모드에서만 쓸 수 있는 것 같고, 다른 모드도 확인할 수 있습니다.

  • r: 파일을 읽기 전용 모드로 엽니다.파일의 처음부터 읽기 시작하며 open() 함수의 기본 모드입니다.
  • rb: 파일을 이진 형식으로 읽기 전용으로 열고 파일의 처음부터 읽기를 시작합니다.바이너리 포맷은 다양한 용도로 사용될 수 있지만, 보통 이미지, 비디오 등을 다룰 때 사용됩니다.
  • r+: 파일을 열고 파일의 시작 부분에 포인터를 놓습니다.
  • w: 쓰기 전용 모드로 열립니다.포인터는 파일의 시작 부분에 배치되며 동일한 이름의 기존 파일을 덮어씁니다.같은 이름의 파일이 없는 경우 새 파일이 만들어집니다.
  • wb: 쓰기 전용 파일을 이진 모드로 엽니다.
  • w+: 쓰기 및 읽기를 위해 파일을 엽니다.
  • wb+: 바이너리 모드에서 쓰기 및 읽기를 위한 파일을 엽니다.
  • a: 새 정보를 추가할 파일을 엽니다.포인터는 파일 끝에 배치됩니다.이름이 같은 파일이 없는 경우 새 파일이 만들어집니다.
  • ab: 바이너리 모드에서 추가할 파일을 엽니다.
  • a+: 추가 및 읽기 모두를 위해 파일을 엽니다.
  • ab+: 바이너리 모드에서 추가 및 읽기 모두를 위한 파일을 엽니다.

네, 많은 사람들이 "b"가 무엇인지 이해하기 위해 혼란스러워하고 있습니다.

사실 컴퓨터 프로그래밍에서는 다양한 종류의 데이터를 가지고 있습니다.

"b"는 '바이트' 데이터 형식이며 길이는 8비트입니다.이미지 파일을 열면 "{0xFF, 0xF0, 0x0F, 0x11}"이 표시됩니다.이런 종류의 텍스트와 바이트 데이터입니다.

네, 맞습니다."b"는 이진 데이터를 의미하지만 "b"의 또 다른 의미는 파이썬의 'byte' 데이터이고 "wb"는 "write+byte"를 의미합니다.

언급URL : https://stackoverflow.com/questions/2665866/what-does-wb-mean-in-this-code-using-python

반응형