小编Bru*_*son的帖子

如何避免使用python处理空stdin?

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)

python stdin

4
推荐指数
1
解决办法
3339
查看次数

标签 统计

python ×1

stdin ×1