前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用 python 写一个计算文件16进制头的命令行工具

用 python 写一个计算文件16进制头的命令行工具

作者头像
FungLeo
发布2019-05-26 21:54:47
6530
发布2019-05-26 21:54:47
举报

用 python 写一个计算文件16进制头的命令行工具

文件十六进制头信息是在我们编程中非常常用的一个信息,如果不安装软件,要计算文件的十六进制文件头信息还是比较麻烦的。

所以我顺手写了一个计算文件十六进制头信息的命令行工具,方便自己随时使用。

~/.bin/ 目录下新建 get-file-hexadecimal 文件,然后写下以下代码:

~/.bin/ 目录我已经添加到系统环境目录了。

代码语言:javascript
复制
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
import argparse

# 字节码转16进制字符串
def bytes2hex(bytes):
    hexstr = u""
    for i in range(10):
        t = u"%x" % bytes[i]
        if len(t) % 2:
            hexstr += u"0"
        hexstr += t
    return hexstr.lower()

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.description='计算文件的16进制头字符串信息'
    parser.add_argument("-v", "--version",action='version', version='%(prog)s 1.0')
    parser.add_argument('filePath', help='Source directory', nargs='?')

    args = parser.parse_args()

    filePath = args.filePath
    if filePath:
        with open(filePath, 'rb') as f:
            print('该文件的十六进制文件头是:   ' + bytes2hex(f.read()))
    else:
        print('需要计算文件的路径不能为空!')

代码非常简单,主要就是对 argparse 命令行参数工具的使用。另外再配合一个二进制文件转16进制字符串的方法函数就构成了。

保存好后,zsh 用户使用 . ~/.zshrcbash 用户使用 . ~/.bash_profile 使新添加的命令行工具生效。也可以关闭终端,然后再打开终端就生效了。

使用效果也非常理想:

获取16进制文件头使用效果
获取16进制文件头使用效果

本文由 FungLeo 原创,允许转载,但转载必须保留首发链接。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年08月15日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 用 python 写一个计算文件16进制头的命令行工具
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档