我可以在 Python 脚本中运行命令行命令吗?

我可以在 Python 脚本中运行命令行命令吗?

抱歉,我在这方面还是个菜鸟:

基本上,我已经下载了这个处理文本文件的软件包,该软件包可从终端运行,但我需要的命令需要两个参数。我还需要多次执行此操作(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.argvsys模块中查看以访问命令行参数。如果我没记错的话,这应该允许您执行以下操作:

python scriptname.py argument1 argument2

然后使用以下方式访问 scriptname.py 中的参数

import sys
arg_1 = sys.argv[1]
arg_2 = sys.argv[2]

您还可以使用类似以下工具轻松开发一整套命令悬崖(命令行界面制定框架)。

相关内容