Запуск второго скрипта Python перед продолжением первого - PullRequest
0 голосов
/ 28 июня 2018

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

У меня есть мой первый скрипт (file1.py), который определяет строку с именем PATH_DATA. Второй скрипт (file2.py) импортирует PATH_DATA, используя:

from file1 import PATH_DATA

Затем запускает некоторые функции и выводит данные в новый путь к файлу. Затем следует продолжить первый сценарий, указав новый путь к файлу PATH_DATA_2.

Я сейчас пытаюсь добиться этого, используя:

exec(open('file2.py').read())

, который работает нормально по большей части. Проблема в том, что весь скрипт (file1), кажется, выполняется дважды, а не один раз. Есть ли исправить это? или лучший способ для меня достичь конечного результата? (Я использую Python 3).

Спасибо!

1 Ответ

0 голосов
/ 28 июня 2018

Если вы хотите продолжить использовать текущий рабочий процесс, оберните что-нибудь с побочными эффектами в file1, как это, и определите переменную, которую вы хотите импортировать за ее пределы.

PATH_DATA = "your/path"

if __name__ == "__main__":
    print("do stuff with side effects")

Материал под "если имя равно основному" не запускается при импорте file1.

Лично я бы просто импортировал функцию, которая упаковывает функциональность из файла file2 в файл file1 и передавал ему путь в качестве аргумента. Кажется более явным и простым.

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