반응형
    
    
    
  파일을 바이트 단위로 읽고 각 바이트의 마지막 비트가 설정되어 있는지 확인하고 싶습니다.
#!/usr/bin/python
def main():
    fh = open('/tmp/test.txt', 'rb')
    try:
        byte = fh.read(1)
        while byte != "":
            if (int(byte,16) & 0x01) is 0x01:
                print 1
            else:
                print 0
            byte = fh.read(1)
    finally:
        fh.close
    fh.close()
if __name__ == "__main__":
        main()
내가 얻는 오류는 다음과 같습니다.
Traceback (most recent call last):
  File "./mini_01.py", line 21, in <module>
    main()
  File "./mini_01.py", line 10, in main
    if (int(byte,16) & 0x01) is 0x01:
ValueError: invalid literal for int() with base 16: '\xaf'
누구 아이디어? 구조체와 binascii 모듈을 사용하여 성공하지 못했습니다.
해결 방법
 int  대신  ord 를 사용하려고합니다.
if (ord(byte) & 0x01) == 0x01:
참조 페이지 https://stackoverflow.com/questions/3943149
반응형
    
    
    
  '파이썬' 카테고리의 다른 글
| 파이썬 UnicodeEncodeError : 'latin-1'코덱은 문자를 인코딩 할 수 없습니다. (0) | 2020.10.30 | 
|---|---|
| 파이썬 유형 힌트로 "nullable"반환 유형을 지정하는 방법 (0) | 2020.10.30 | 
| 파이썬 Pandas에서 null 값을 삭제하는 방법은 무엇입니까? (0) | 2020.10.30 | 
| 파이썬 아나콘다의 기본 파이썬 경로를 설정하는 방법은 무엇입니까? (0) | 2020.10.30 | 
| 파이썬 Python의 목록에 대해 사용자 입력 테스트 (0) | 2020.10.30 | 
댓글