2016-04-06 4 views
0

Я в настоящее время работает питона файл, который я создал в качестве библиотеки модуля в качестве сценария и передачи в один аргумент командной строки более конкретно, то, как я бегу файл питон теперьКак запустить модуль библиотеки Python как скрипт из другого файла python? (Python 3.5.1)

python3 -m path.to.python.file --option1=OPTION_VALUE

У меня на самом деле есть несколько таких файлов, и я хочу запустить их из другого файла python. Как мне это сделать? Если это упростит, значение аргумента option1 будет одинаковым для всех из них.

Я видел много других сообщений StackOverflow относительно похожих проблем, но ни один из них, похоже, не запускает файл python в качестве библиотечного модуля в качестве скрипта.

EDIT: Я думаю, что нашел ответ. Я закончил тем, выполнив следующие действия:

p = subprocess.Popen(['python3', '-m', 
          'path.to.file', 
          '--option1=OPTION1_VALUE']) 
    p.communicate() 

ответ

0

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

subprocess.Popen(['python3', '-m', 'path.to.python.file', '--option1=OPTION_VALUE']) 

Это может не лучший способ сделать это. В зависимости от того, как модули структурированы, вы можете указать import и вызвать некоторые из функций внутри (что происходит из командной строки). Однако, не видя структуру этих модулей, трудно дать четкие советы о том, как вы можете это сделать.

+0

Отлично! Это почти работает для меня. Поэтому причина, по которой это не совсем соответствует моему варианту использования, заключается в том, что я хочу в основном запускать кучу файлов по порядку. Некоторые из них - скрипты SQL, а некоторые - файлы Python (оба в конечном итоге создают таблицы в базе данных. Для файлов python я использую sqlalchemy/pandas). Я хочу иметь возможность запускать эти файлы в определенном порядке. Похоже, что когда я использую 'subprocess.Popen', он всегда запускает файлы Python в конце. Есть ли способ для меня сделать это, но иметь возможность запускать файлы по порядку? – Vincent

Смежные вопросы