第3章:打造命令行工具

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打造交互式命令行工具

猜你喜欢

转载自www.cnblogs.com/allenhu320/p/11323009.html