在sys.stdin.readline()
返回之前,用于一个EOF(或新的线路)等待,因此,如果我有个控制台输入,readline()
等待用户输入.相反,如果没有什么可以处理的话,我想打印帮助并退出错误,而不是等待用户输入.
原因:我正在寻找一个类似于命令行行为的python程序grep
.
测试用例:
没有输入,没有任何管道,打印帮助
$ argparse.py
argparse.py - prints arguments
echo $? # UNIX
echo %ERRORLEVEL% # WINDOWS
2
Run Code Online (Sandbox Code Playgroud)
解析命令行args
$ argparse.py a b c
0 a
1 b
2 c
Run Code Online (Sandbox Code Playgroud)
接受管道命令
$ ls | argparse.py
0 argparse.py
1 aFile.txt
Run Code Online (Sandbox Code Playgroud)
parseargs.py列表:
# $Id: parseargs.py
import sys
import argparse
# Tried these too:
# import fileinput - blocks on no input
# import subprocess - requires calling program to be known
def usage():
sys.stderr.write("{} - …
Run Code Online (Sandbox Code Playgroud)