提问人:matthewiannowlin 提问时间:9/29/2023 更新时间:9/29/2023 访问量:26
如何调度通过 input() 接受参数的 python 脚本
How to schedule python script that accepts arguments via input()
问:
我有一个 python 3.11 脚本,它提示输入() 并将响应存储为 vars。我一直在我的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(),但在从终端运行时也通过命令行发送参数?
答:
2赞
Barmar
9/29/2023
#1
最好的办法是将脚本更改为使用 .如果没有命令行参数,它可以回退到提示。argparse
但是您可以使用 heredoc 将输入提供给脚本。将此内容放入 shell 脚本中:
#!/bin/sh
python script.py <<EOF
2023-08-09
18
EOF
并使用 或 来计划脚本。cron
at
评论
echo -e '2023-08-09\n18' | python script.py
python script.py <input.txt
)