如何调度通过input()接受参数的Python脚本

wbrvyc0a  于 12个月前  发布在  Python
关注(0)|答案(1)|浏览(53)

我有一个python 3.11脚本,它提示输入()并将响应存储为var。我一直在IDE中以交互方式运行脚本。
例如:[我点击运行script.py]

Enter a date:
[I enter 2023-08-09]
Enter a geography id:
[I enter 18]

现在我需要能够从命令行运行和调度脚本。所以我需要运行如下代码:python script.py -2023-08-09 -18
我应该创建一个新版本的脚本,通过sys.argv和argparse使用参数,或者有一个更好的方法来调整我的脚本,在交互式运行时使用input(),但在从终端运行时也通过命令行发送参数?

wecizke3

wecizke31#

最好的办法可能是将脚本更改为使用argparse。如果没有命令行参数,它可以回退到提示。
但是您可以使用heredoc将输入提供给脚本。把它放在shell脚本中:

#!/bin/sh

python script.py <<EOF
2023-08-09
18
EOF

并使用cronat调度脚本。

相关问题