这篇文章将教你如何编写完美的
Python
命令行程序,提高团队的生产力,
让大家的工作更舒适。
作者
| Yannick Wolff
作为
Python
开发者,我们经常要编写命令行程序。比如在我的数据科学项目中,我要从
命令行运行脚本来训练模型,以及计算算法的准确率等。
因此,更方便更易用的脚本能够很好地提高生产力,特别是在有多个开发者从事同一个项
目的场合下。
因此,我建议你遵循以下四条规则:
尽可能提供默认参数值
所有错误情况必须处理(例如,参数缺失,类型错误,找不到文件)
所有参数和选项必须有文档
不是立即完成的任务应当显示进度条
举个简单的例子
我们把这些规则应用到一个具体的例子上。这个脚本可以使用凯撒加密法加密和解密消
息。
假设已经有个写好的
encrypt
函数(实现如下)
,我们需要创建一个简单的脚本,用来加
密和解密消息。我们希望让用户通过命令行参数选择加密模式(默认)和解密模式,并选
择一个秘钥(默认为
1
)
。
def encrypt(plaintext, key): cyphertext = for character in plaintext: if character.isalpha()
: number = ord(character) number += key if character.isupper(): if
number > ord(Z): number -= 26 elif number ord(z): number -=
26 elif number python caesar_script.py --key 23 --decrypt my secret messagepb vhfuh
w phvvdjh
该列表将包含: