Python无法通过子流程执行子Python脚本,该子流程从另一个Python脚本导入功能

时间:2018-10-29 16:26:19

标签: python subprocess

我试图在for循环中使用Subprocess.Popen从父脚本执行多个子python脚本。

父脚本中的代码如下:

    for tab in tabs_detail.keys():
        data = tabs_detail[tab]
        data_str= json.dumps(data)
        #print(data_str)

        subprocess.Popen
        (["Python",data['Script_Name'],data_str,client,spec_path,tab])

我只是尝试打印在我的子脚本中收到的输入args,如下所示:

 import sys
 print('in Project settings' + sys.argv[1])
 print(sys.argv[3])

通过打印sysargs可以正常工作。 但是,当我导入用户定义的模块时,该模块具有可在子脚本中重复使用的功能,例如:

 import sys
 import userdefined.py as ud   # Imported here
 print('in Project settings' + sys.argv[1])
 print(sys.argv[3])

没有打印任何内容,也没有返回错误。它只返回Process finished with exit code 0

我的用户定义脚本如下:

  def readFromDB():
    code
  def readFromExcel():
    code
  def compareDa():
    code
  def GenerateReport():
    code

我计划在子脚本中调用这些函数。

如果我是Python的初学者,请指导我是否缺少某些内容。 预先谢谢你。

0 个答案:

没有答案