这是app.py
文件。
#!/usr/bin/python3
import sys
def run():
print(sys.argv)
filename = sys.argv[1]
print(filename)
return
if __name__ == '__main__':
run()
我想从命令行运行此代码,所以我分别尝试了以下两行。
python3 app.py input.txt
python3 app.py < input.txt
第一个命令显示了我预期的结果,即['app.py', 'input.txt']
。但是第二条命令刚刚显示为['app.py']
。
似乎Python代码无法识别特殊符号。如何在不更改脚本本身的情况下使脚本识别它们?即不像这样修改命令:python3 app.py '<' input.txt
。
<
import sys
file_contents = sys.stdin.read() # This will read the entire stdin stream into file_contents
这也适用于|字符
echo "Hello, World" | python app.py