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是一款指定采样周期和次数的功能性监测工具,可以使用它监控进程上下文 ...
随机推荐
- 进程PCB
struct task_struct { volatile long state; //说明了该进程是否可以执行,还是可中断等信息 unsigned long flags; //Flage 是进程号, ...
- CornerStone使用跳坑总结(陆续更新)
Cornerstone是专门为Mac用户设计的Subversion(SVN)的控制,使版本控制更加透明.cornerstone根Xcode相比,能够更好的忽略文件,所以除了项目经理第一次初始化项目的时 ...
- shell脚本登录远程服务器并下载至本地
通常有这样备份的需求,将远程服务器的代码或者数据打包压缩然后下载到本地路径 实现方式 需要对远程服务器实现无密码访问,通过配置公钥实现: 使用ssh执行命令然后转向到本地的方法一步完成打包和下载,可参 ...
- js实现软键盘
<p><img id="img" onclick="javascript:var s=document.createElement('script'); ...
- jmeter插件安装
一.下载插件 访问网址http://jmeter-plugins.org/downloads/all/,下载三个文件.其中JMeterPlugins-Standard和JMeterPlugins-Ex ...
- MHA-Atlas-MySQL高可用集群2
MHA脚本管理方式 (1)获取管理脚本master_ip_failover 提示:yum安装的manager是没有这个脚本的. 我们需要从manager的源码包里复制一个. [root@mysql ...
- frag
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android=&qu ...
- mysql的分表与分区的区别
http://www.2cto.com/database/201503/380348.html
- 学习笔记TF054:TFLearn、Keras
元框架(metaframework). TFLearn.模块化深度学习框架,更高级API,快速实验,完全透明兼容. TFLearn实现AlexNet.https://github.com/tflear ...
- FlexRay通信机制
通信周期是 FlexRay 的基本通信单元[6~7,19].每个通信周期包括四个时间层,如图 2-9 所示.通信周期由静态段(Static Segment).动态段(Dynamic Segment). ...