抱歉,我在这方面还是个菜鸟:
基本上,我已经下载了这个处理文本文件的软件包,该软件包可从终端运行,但我需要的命令需要两个参数。我还需要多次执行此操作(5000 次以上)。
我需要使用 Python 脚本获取这些参数,并且可以使用 Python 多次循环。那么我可以在 Python 脚本中获取参数,运行命令行并循环吗?怎么做?
谢谢!
答案1
这是一条鱼...
import popen2, sys
def loopy_subprocess(arga, argb, iterations, command = 'echo'):
for i in range(int(iterations)):
p = popen2.Popen4((command, arga, argb))
p.wait()
print(p.fromchild.readlines())
if __name__ == '__main__':
try:
arga = sys.argv[1]
argb = sys.argv[2]
iterations = sys.argv[3]
except:
print("You didn't supply enough arguments\n"+\
"Usage: python script.py arga argb iterations\n"+\
"Warning - unsafe. No input validation and doesn't account for spaces in arguments\n"+\
"Optionally supply the command to be run as a final argument\n")
quit()
try:
command = sys.argv[4]
loopy_subprocess(arga, argb, iterations, command)
except:
loopy_subprocess(arga, argb, iterations)
答案2
可能最简单的方法是从 python 内部访问命令行参数,并在 python 中执行循环。您可以sys.argv
从sys
模块中查看以访问命令行参数。如果我没记错的话,这应该允许您执行以下操作:
python scriptname.py argument1 argument2
然后使用以下方式访问 scriptname.py 中的参数
import sys
arg_1 = sys.argv[1]
arg_2 = sys.argv[2]
您还可以使用类似以下工具轻松开发一整套命令悬崖(命令行界面制定框架)。