gpt4 book ai didi

python - 我如何确定 python 脚本是通过将 sth 管道传输到它还是直接调用来调用的?

转载 作者:太空宇宙 更新时间:2023-11-04 01:23:43 24 4
gpt4 key购买 nike

我的 python 程序接受来自命令行参数 (sys.argv[1]) 和管道 (sys.stdin) 的主要输入。

但它需要额外的参数,当主输入不存在时,这些参数将改变它们在 sys.argv 列表中的位置。

如何判断脚本是否被直接调用

myscript.py "input" "add_param"

或通过管道

echo "input" | myscript.py "add_param"

仅仅检查参数的数量是不够的。还有更多(可选)参数和我还想为缺少的参数提供正确的错误消息。

最佳答案

您可以使用 sys.stdin.isatty() .

如果使用管道 (|) 执行脚本,则返回 False。

>>> sys.stdin.isatty()
True

关于python - 我如何确定 python 脚本是通过将 sth 管道传输到它还是直接调用来调用的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19522538/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com