超轻量级纯python包,用于检查文件是二进制文件还是文本文件。

binaryornot的Python项目详细描述


https://img.shields.io/pypi/v/binaryornot.svg?style=flatDocumentation StatusUpdates

超轻量级纯python包,用于猜测文件是二进制文件还是文本文件, 使用类似于perl的pp fttext的启发式方法,并由@eliben进行分析。

状态

它是有效的,人们在不同的地方使用这个软件包。但它还没有涵盖所有的边缘案件。

代码可以改进。拉请求欢迎!到目前为止,它是基于这些片段的,但这可能会改变:

功能

对这些文件类型进行了测试:

  • 文本:.txt、.css、.json、.svg、.js、.lua、.pl、.rst
  • 二进制文件:.png、.gif、.jpg、.tiff、.bmp、.ds\u store、.eot、.otf、.ttf、.woff、.rgb

对许多编码进行了测试。

为什么?

你可能在想,“我可以用两行代码来写这个?!“

其实没那么容易。这是一篇关于Perl 启发式猜测文件类型有效:http://eli.thegreenplace.net/2011/10/19/perls-guess-if-file-is-text-or-binary-implemented-in-python/

我们就是从这里开始的。随着时间的推移,我们发现了更多的边缘案例 我们的启发变得更复杂了。

另外,这个包还避免了编写和彻底测试 你的代码有各种奇怪的文件类型和编码,跨平台。

生成

Linux(ubuntu 12.04 LTS服务器版64位):

https://img.shields.io/travis/audreyr/binaryornot/master.svg

Windows(Windows Server 2012 R2(x64)):

https://img.shields.io/appveyor/ci/audreyr/binaryornot/master.svg

学分

历史记录

0.4.4(2017-04-13)

  • 通知用户文件I/O问题。谢谢“路人”!

0.4.3(2017-04-13)

0.4.2(2017-04-12)

0.4.0(2015-08-21)

  • 增强了对某些二进制流和utf文本的检测。(10,11)谢谢。
  • 设置AppVeyor以便在Windows上进行连续测试。谢谢@pydanny
  • 更新perl源代码实现的链接。(9)谢谢。
  • 在检查中处理UnicodedeCoderror。(12)谢谢。
  • 添加非常简单的基于假设的测试。(13)谢谢。
  • 使用“设置”确定需求并删除多余的requirements.txt。(14)谢谢。
  • 将文档状态标记添加到readme.rst。(15)谢谢。
  • 在淋巴结特拉维斯做毒性试验。将pypy和python 3.4添加到tox环境中。(16)谢谢。
  • 检测编码时处理lookuperror。(17)谢谢。

0.3.0(2014-05-05)

  • 在源包中包含测试和文档。(6)谢谢。
  • 删除不必要的shebang和可执行位。(8)谢谢。
  • 只生成一次可打印扩展ascii字节的字符串。(7)谢谢。
  • 使要读取的字节数可参数化。(7)谢谢。

0.2.0(2013-09-22)

0.1.1(2013-08-17)

  • 测试在python 2.6、2.7、3.3、pypy下通过。

0.1.0(2013-08-17)

  • pypi上的第一个版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Cassandra复制因子大于节点数   java J2EE JTA事务回滚不适用于OSE Glassfish 4.0(Build 89)   java spring安全预认证用户登录   org的java类文件。反应流。从RxJava编译示例时未找到Publisher?   java在使用dataFormat作为POJO通过Camel调用Web服务时无法设置SOAP标头   Javafx类的java静态实例   java如何防止一个部件在关闭时覆盖另一个部件的位置   sql server无法从我的java代码连接到数据库   java在JList(Swing)中显示带有的ArrayList   从Java中的CXF服务获取WSAddressing数据   使用资产文件夹进行java简单json解析(本地)   java LDAPException未绑定的无效凭据   JavaJSFspring部署到weblogic   JAVA中字符数组中的特定元素排列?   如果脚本位于不同的目录中,则ant不会使用exec标记运行Javashell脚本