sys.stdin和fileinput
2019-05-28 本文已影响0人
Duckweed丶Yang
1.Python"管道"
在python语言中使用管道来结合Python语言和Shell脚本的优势
sys库的文件描述符,stdin(标准输入),stdout(标准输出),stderr(标准错误)
1.1stdin
调用readlines方法可以将标准输入的内容读取到一个列表
sys.stdin.readlines()python3.6 guandao.py < /etc/passwd
cat /etc/passwd|python3.6 guandao.py
1.2 stdout stderr
err.py如上,分别用sys.stdout()和sys.stderr()
stdout and stderr如上,默认'hello','world'都会被打印
python3.6 err.py >/dev/null,将标准输出重定向,故只会输出world,重定向2> /dev/null,同理
标准错误可以配合raise SystemExit("error message")
2.Python---fileinput多文件处理
files.pypython3.6 files.py /etc/passwd /etc/hosts
结果fileinput的方法,让我们知道当前读取的内容属于哪一个文件:
filename:当前读取的文件名;fileno:文件描述符;filelineno:正在读取的行是当前文件的第几行;isfirstline:是否为当前文件的第一行;isstdin fileinput:正在读取的文件还是从标准输入读取内容
使用filename方法处理多文件python3.6 files.py /etc/passwd /etc/hosts
结果3.getpass
getpass的getpass方法可以隐式的接收你想隐藏接收的内容