1.与命令行相关的Python语言特性
1).使用sys.argv获取命令行参数
import sys print(sys.argv)
2).使用sys.stdin和fileinput读取标准输入
import sys def get_content(): return sys.stdin.readlines() print(get_content()) 使用Ctrl+d退出
fileinput的使用非常简单,大部分情况下,我们直接调用fileinput模块的input方法按行读取内容即可 用for循环遍历文件内容 # cat read_from_fileinput.py from __future__ import print_function import fileinput for line in fileinput.input(): print(line, end=" ") # cat /etc/passwd | python read_from_fileinput.py
3).使用SystemExit异常打印错误信息
4).使用getpass库读取密码
import getpass user = getpass.getuser() passwd = getpass.getpass('your password: ') print(user,passwd)
2.使用configparser解析配置文件
import configparser cf = configparser.ConfigParser(allow_no_value=True) cf.read('/etc/my.cnf') print(cf.sections()) print(cf.has_section('client')) print(cf.options('client')) print(cf.has_option('client','user')) print(cf.get('client','user'))
3.使用argparse解析命令行参数
1).ArgumentParse解析器
2).模仿MySQL客户端的命令行参数
4.使用logging记录日志
1).日志的作用
2).Python的logging模块
3).配置日志格式
5.与命令行相关的开源项目
1).使用click解析命令行参数
2).使用prompt_toolkit打造交互式命令行工具