magic模块在windows和linux下的安装与使用

本文介绍了magic模块在Linux和Windows操作系统下的安装步骤及使用方法,包括在Linux环境下的安装与使用,以及在Windows平台上的安装与使用教程。
Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

linux下安装与使用

安装

linux下的安装很简单
pip install python-libmagic
pip install filemagic

使用

获取文件类型
with magic.Magic()as m:
    res = m.id_filename(file_name)
获取文件编码
with magic.Magic(flags=magic.MAGIC_MIME_ENCODING)as m:
    res = m.id_filename(file_name)

windows下的安装与使用

安装

当时我的环境是64位 win10 python2.7

安装magic模块:
pip install python-magic
https://github.com/ahupp/python-magic


安装 Microsoft Visual C++ Compiler for Python 2.7
https://www.microsoft.com/en-us/download/details.aspx?id=44266

安装libmagic: 
https://pypi.python.org/pypi/python-libmagic

安装cffi:
这里特别注意版本,我当时提示用得是 pip install cffi==1.7.0 具体根据报错提示

当时最先遇到问题是导入magic出错:>>> import magic
usr/local/lib/python2.7/dist-packages/magic/__pycache__/_cffi__x786d8319xacd6d885.c:156:19: fatal error: magic.h: No such
file or directorycompilation terminated.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/magic/__init__.py", line 1, in <module>
from . import ffi
File "/usr/local/lib/python2.7/dist-packages/magic/ffi.py", line 27, in <module>
ext_package="magic")
File "/usr/local/lib/python2.7/dist-packages/cffi/api.py", line 339, in verify
lib = self.verifier.load_library()
File "/usr/local/lib/python2.7/dist-packages/cffi/verifier.py", line 74, in load_library
self._compile_module()
File "/usr/local/lib/python2.7/dist-packages/cffi/verifier.py", line 139, in _compile_module
outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
File "/usr/local/lib/python2.7/dist-packages/cffi/ffiplatform.py", line 25, in compile
outputfilename = _build(tmpdir, ext)
File "/usr/local/lib/python2.7/dist-packages/cffi/ffiplatform.py", line 50, in _build
raise VerificationError('%s: %s' % (e.__class__.__name__, e))
cffi.ffiplatform.VerificationError: CompileError: command 'x86_64-linux-gnu-gcc' failed with exit status 1

当我根据目录把magic.h放入他所提示目录后又出现更多问题,最后解决的时候也不知道这一个步骤是否有用

最后是通过升级cffi==1.7.0并且安装pip install python-magic-bin后,windows下magic才得以使用

使用

windows下的magic和linux略有不同
获取文件类型
f = magic.Magic()
res = f.from_file(file_name)
获取文件编码类型
f = magic.Magic(mime_encoding=True)
res = f.from_file(file_name)


您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值