我正在尝试编写一个python脚本,该脚本遵循从stdin接受输入的公共unix命令行模式,如果没有给出文件名。这就是我一直在使用的:
if __name__ == "__main__":
if len(sys.argv) > 1:
stream = open(sys.argv[1])
else:
stream = sys.stdin
有更多的pythonic方式吗?
答案 0 :(得分:10)
fileinput模块非常适用于此。
答案 1 :(得分:5)
类似但一线的解决方案
stream = sys.argv[1] if len(sys.argv)>1 else sys.stdin
答案 2 :(得分:2)
这个怎么样?
stream=sys.argv[1:] and open(sys.argv[1]) or sys.stdin
答案 3 :(得分:0)
我建议你让它变得更加单一:
if len(sys.argv) > 1:
sys.stdin = open(sys.argv[1])