python生成linux命令行工具
您是否也曾一直想生成类似cd, cat等小巧/迷人/实用的小工具作为系统命令或者将python程序打包为exe进行分发?ok,机会来了.利用python 的argparse 和 pyinstaller两个库就能轻松做到.
step1.按照python库
source ~/workspace/python27/bin/activate
pip install argparse
pip install pyinstaller
step2. 写好python程序, 以文件夹中随机迁移move一部分为例,生成rdmv命令
#!/usr/bin/env python
# coding=utf-8 import os
import random
import argparse def rdmv(src, dst, cnt=10):
fnames = [os.path.join(src, fname) for fname in os.listdir(src)]
random.shuffle(fnames)
for fname in fnames[:cnt]:
os.system("mv %s %s" % (fname, dst)) if __name__ == '__main__':
parser = argparse.ArgumentParser(description='random mv files from source to dest path')
parser.add_argument('s', type=str, help='source path')
parser.add_argument('d', type=str, help='dest path')
parser.add_argument('-n',type=int, help='mv file count, default is 10', default=10)
args = parser.parse_args()
rdmv(args.s, args.d, args.n)
step3. 运行 pyinstaller 相关命令
pyinstaller -F rdmv.py
pyinstaller [参数] [脚本路径] ,
该参数包括:
-F, --onefile Py代码只有一个文件
-D, --onedir Py代码放在一个目录中(默认是这个)
-K, --tk 包含TCL/TK
-d, --debug 生成debug模式的exe文件
-w, --windowed, --noconsole 窗体exe文件(WindowsOnly)
-c, --nowindowed, --console 控制台exe文件(WindowsOnly)
-X, --upx 使用upx压缩exe文件
-o DIR, --out=DIR 设置spec文件输出的目录,默认在PyInstaller同目录
-v FILE, --version=FILE 加入版本信息文件
step4. 分发命令, 在当前自动生成的分发文件夹dist下面找到可执行文件rdmv, 复制到系统/usr/local/bin下即可
sudo cp dist/rdmv /usr/local/bin/
step5. 然后就没有然后啦,开始您的自定义命令行快乐之旅吧!
参考资料:
1. 作者:Gavin吃西瓜
python生成linux命令行工具的更多相关文章
- 20个linux命令行工具监视性能(下)
昨天晚上第一次翻译了<20 Command Line Tools to Monitor Linux Performance>中的前十个命令,翻译得不是很好,今天晚上继续把后面的十个也翻译给 ...
- 两本最近阅读的工具书的记录 关于Python和Linux命令行的 不喜勿喷 只是写给自己用
<Linux命令行完全技术宝典>读书心得 张栋作者 在学习Linux系统中,我们需要掌握各种管理的方法和技巧,而管理Linux系统最有效的方法就是命令行的控制.而我在图书馆中读到的< ...
- 20个linux命令行工具监视性能(上)
对于每一个系统管理员或网络管理员每天监视或调试linux系统的性能问题是一件非常困难的事,在it行业作为一个linux管理员五年之后,我开始知道监视和保持系统启动和运行有多么的困难.由于这个原因,我们 ...
- 吻逗死(windows)系统下自动部署脚本(for java spring*)及linux命令行工具
转载请注明出处:https://www.cnblogs.com/funnyzpc/p/10051647.html (^^)(^^)自動部署腳本原本在上個公司就在使用,由於近期同事需要手動部署一個Spr ...
- 其它综合-有趣的linux命令行工具-lolcat
lolcat :一个在 Linux 终端中输出彩虹特效的命令行工具 何为Lolcat Lolcat 是一个针对 Linux,BSD 和 OSX 平台的工具,它类似于 cat,并为 cat 的输出添加彩 ...
- 28 个必备的 Linux 命令行工具
dstat & sar iostat, vmstat, ifstat and much more in one. slurm 网络流量图形化工具 vim & emacs 这个没人不知道 ...
- Python解析Linux命令行
写了个python脚本在linux需要传入参数使用,python参数传入有几个方法, 先用了Python中命令行参数的最传统的方法sys.argv linux cmd ~& python ma ...
- 10. 通过 Dockerfile 编写 linux 命令行工具
测试 linux 压力的工具 一. 实际操作 1. 创建一个 ubuntu 的容器 docker run -it ubuntu 2. 安装 stress 工具 apt-get update & ...
- Linux命令行工具之vmstat命令
原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11484608.html vmstat是一款指定采样周期和次数的功能性监测工具,可以使用它监控进程上下文 ...
随机推荐
- C# 延迟函数
#region 延迟函数 public static bool Delay(int delayTime) { DateTime now = DateTime.Now; int s; do { Time ...
- python基础—列表的使用[]
names = ['zhangyang','guyun','xiangpeng','xuliangchen']print(names[0])print(names[1:3])#切片print(name ...
- python智能提示配置
Package Control 安装方法 1.通过快捷键 ctrl+` 或者 View > Show Console 打开控制台,然后粘贴相应的 Python 安装代码: 2.Sublime T ...
- EMMET 的HTM自动生成
{ // Custom snippets definitions, as per https://github.com/emmetio/emmet/blob/master/snippets.json ...
- mysql新增用户并开启远程连接
之前使用mysql一直使用root来连接登录数据库,现在想使用新的用户名来连接数据库,碰到数据连接不上的情况. 把这些记录下来,以备后用 1.首先,创建用户 CREATE USER 'xiazhenx ...
- BZOJ-3105: 新Nim游戏 (nim博弈&线性基)
pro: 传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同).两个游戏者轮流操作,每次可以选一个火柴堆拿走若干根火柴.可以只拿一根,也可以拿走整堆火柴,但不能同时从 ...
- flutter 添加插件
打開pubspec.yaml ---> cupertino_icons 下添加插件
- vue环境配置
wind系统下需要安装node.js 和git 1.安装npm 因为淘宝镜像较快,所以可以使用淘宝镜像安装npm npm install -g cnpm --registry=https://regi ...
- 前端---js02
主要内容 1.数组 2.字符串 3.Date日期对象 4.内置对象 5.定时器 6.DOM 7.伪数组 内置对象: 1 数组(列表) Array (1) 数组的创建 <script>//字 ...
- ServletContext、ServletRequest和HttpSession的生命周期
学习web的Listener监听器的时,监听域对象创建的监听器.通过监听器重新分析着三个对象的生命周期,清晰明了. 首先域对象的监听器有三个ServletContextListene.ServletR ...