从另一个python文件使用命令行参数调用Python文件

时间:2019-11-26 21:30:26

标签: python

目前,我的python代码是从命令行中按如下方式调用的:

C:\project-master>python myFile.py --plugin TestPlugin\migration -f "C:/Form1/All_2020-01-01.xsd"

myFile.py代码需要命令行参数的地方:

--plugin TestPlugin\migration
-f "C:/Form1/All_2020-01-01.xsd"

我创建了一个名为Test.py的新python文件。如何从Test.py文件中调用myFile.py以及所需的参数。例如-

class Workflow:

    def Process(self):
        # How to make a call for below commandline from here: 
        # myFile.py --plugin TestPlugin\migration -f "C:/Form1/All_2020-01-01.xsd"

A = Workflow()
A.Process()

1 个答案:

答案 0 :(得分:1)

Python子过程模块是您的朋友。

您可以使用run()模块的subprocess功能。在run()

中,执行命令以字符串列表形式给出

因此,在您的情况下,它应如下所示:

import subprocess

subprocess.run(["python", "myFile.py", "--plugin", "TestPlugin\migration", "-f", "C:/Form1/All_2020-01-01.xsd"], shell=False)

您可以将该行放入您的Process()方法中。

例如,如果您想捕获输出,也可以在documentation中查看