반응형
파일을 바이트 단위로 읽고 각 바이트의 마지막 비트가 설정되어 있는지 확인하고 싶습니다.
#!/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 |
댓글