libmagic에 대한 파이썬 바인딩
이 주제에 대한 모든 대답은 매우 혼란 스럽습니다 .libmagic의 다른 바인딩에 대한이 개요를 조금 더 명확하게하고 싶습니다. 이전에 mammadori는 사용 가능한 옵션을 나열한 짧은 답변을 제공했습니다.
libmagic
파일 MIME 유형을 결정할 때 선택한 도구를 간단히 호출 file
하고 백엔드를 호출 libmagic
합니다. ( 프로젝트 홈 페이지 참조 ) 프로젝트는 개인 cvs 저장소에서 개발되었지만 github 에는 읽기 전용 git mirror가 있습니다.
이제 파이썬과 함께 libmagic 바인딩을 사용하려는 경우 필요한이 도구에는 이미라는 자체 파이썬 바인딩이 포함되어 file-magic
있습니다. 전용 문서는 많지 않지만 항상 c-library의 man 페이지를 볼 수 있습니다 man libmagic
. 기본 사용법은 readme 파일에 설명되어 있습니다 .
import magic
detected = magic.detect_from_filename('magic.py')
print 'Detected MIME type: {}'.format(detected.mime_type)
print 'Detected encoding: {}'.format(detected.encoding)
print 'Detected file type name: {}'.format(detected.name)
이 외에도 예제 파일에 표시된대로 Magic
객체를 만들어 라이브러리를 사용할 수도 있습니다 .magic.open(flags)
toivotuo 와 ewr2san은 모두 도구에 file-magic
포함 된 이러한 바인딩을 사용합니다 file
. 그들은 실수로 python-magic
패키지를 사용한다고 가정 합니다. 이 두 경우에 것을 표시하는 것 file
및이 python-magic
설치되어, 파이썬 모듈은 magic
이전의 일을 말한다.
파이썬 매직
이것은 Simon Zimmermann이 그의 답변 에서 이야기하는 라이브러리이며 Gringo Suave 뿐만 아니라 Claude COULOMBE 도 사용합니다 .
filemagic
참고 :이 프로젝트는 2013 년에 마지막으로 업데이트되었습니다!
동일한 c-api를 기반으로하기 때문에이 라이브러리는에 file-magic
포함 된 것과 유사 libmagic
합니다. 그것은 mammadori에 의해서만 언급되었으며 다른 대답으로는 그것을 사용하지 않습니다.