[英]How can I use Python to automate setting a password using the Unix pass command line program
[英]How can I automate a python program that requires two inputs in a linux command line?
我有一个 python 程序,我已将其解析为 linux 命令行。 它需要两个输入。 第一个输入将始终相同,我希望第二个输入介于 1-1030 之间。有没有办法让 python 在命令行中自动运行,并且每次将第二个输入增加 +1? 我想这样做,所以我不必手动输入第二个输入 1030 次。
我的命令行看起来像这样:
$ python ex_script.py -d (first input) -r (second input)
从命令行获取输入有多种可能性
import sys
和sys.argv[n]
将为您提供第 n 个命令行输入作为字符串。为了避免第二个参数,一个非常简单的解决方法是将一个计数器写入文件并让您的程序读取此文件中的数字,将其增加一覆盖文件。 您还可以在程序中检查该数字是否小于 1030。
我会编写一个简短的第二个脚本,使用所需的 arguments 运行第一个脚本。 不确定这是否是最好的方法,但它是我使用subprocess
的首选:
import subprocess
for i in range(1030):
subprocess.run(['python', 'ex_script', 'arg1', str(i)])
请注意,子进程是用列表 [] 中的值指定的。 这些值在我的 Win10 环境中有效,但您可以根据自己的环境调整它们。
for i in {1..1030}
do
python ex_script.py -d <the first input here> -r $i
done
循环将遍历数字 1 到 1030。然后,您可以将任何命令行指令放入循环中并使用变量$i,将其作为指令的参数传递。
您可以将其放入.sh 文件并使用chmod +x
使其可执行。
然后从终端将其作为可执行脚本运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.