Python не может выполнить дочерний скрипт Python через подпроцесс, который импортирует функции из другого скрипта Python - PullRequest
0 голосов
/ 29 октября 2018

Я пытаюсь выполнить несколько дочерних сценариев Python из родительского сценария, используя Subprocess.Popen в цикле for.

Код в родительском скрипте выглядит так:

    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])

Я просто пытаюсь распечатать входные аргументы, полученные в моем дочернем скрипте, который выглядит следующим образом:

 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. Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...