Python 3.x Python 3不识别特殊字符

Python 3.x Python 3不识别特殊字符,python-3.x,Python 3.x,这是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

这是
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

第一个命令显示了我期望的结果,即
['app.py','input.txt']
。然而,第二个命令最后显示了
['app.py']


Python代码似乎无法识别特殊符号。如何使脚本在不更改脚本本身的情况下识别它们?i、 e.不这样修改命令:
python3 app.py'字符<是特殊的,实际上将流式传输指定给stdin的文件。您不能重写此行为,因为它来自shell,而不是python本身。下面是一个实际发生的情况以及如何获取文件内容的示例

import sys

file_contents = sys.stdin.read()  # This will read the entire stdin stream into file_contents
这也适用于|角色

echo "Hello, World" | python app.py

<字符是特殊的,实际上将流式传输指定给stdin的文件。您不能重写此行为,因为它来自shell,而不是python本身。下面是一个实际发生的情况以及如何获取文件内容的示例

import sys

file_contents = sys.stdin.read()  # This will read the entire stdin stream into file_contents
这也适用于|角色

echo "Hello, World" | python app.py

这对替代解决方案非常有帮助。谢谢这对替代解决方案非常有帮助。谢谢