如何安排通过 input() 接受参数的 python 脚本

问题描述 投票:0回答:1

我有一个 python 3.11 脚本,提示输入 input() 并将响应存储为变量。我一直在 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() ,并且在从终端运行时通过命令行发送参数?

python arguments parameter-passing command-line-arguments
1个回答
1
投票

最好的方法可能是更改脚本以使用

argparse
。如果没有命令行参数,它可以回退到提示。

但是您可以使用定界文档将输入提供给脚本。将其放入 shell 脚本中:

#!/bin/sh

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

并使用

cron
at
来安排脚本。

© www.soinside.com 2019 - 2024. All rights reserved.