У меня есть несколько сценариев, которые я хочу запускать последовательно (каждый сохраняет свои выходные данные в виде файла, поэтому мне не нужно их просматривать).Я хочу создать отдельный файл Python, который может проходить через них, выполняя каждый файл, как только это будет сделано с предыдущим.Однако я не уверен, как выполнить один сценарий из другого.
Я создал образец субфайла (сценария) для запуска другим основным файлом:
import numpy as np
x = np.arange(0,9).reshape((3,3))
x+=1
y=x**2
print(y)
Это создает пару матрици что-то делает с ними.Я включил команду печати в качестве теста на ее выполнение (возможно, это не очень хороший тест?).Главный файл приведен ниже:
import os
os.system('python subfile_test.py')
# exec('sub_file')
Я попытался использовать обе команды os.system () и exec ().Когда я использую команду os.system (), я не получаю никаких ошибок, но не вижу распечатки и объекты (x и y), доступные после запуска.Когда я закомментирую первые две строки и раскомментирую команду exec (), я получаю сообщение об ошибке NameError: name 'sub_file' is not defined
.Я получаю ту же ошибку, когда пишу 'sub_file.py' (добавляя .py к имени файла).Оба файла (master и sub) находятся в одной папке, и это рабочий каталог (я использую Spyder).
Я ссылался Как я могу заставить один файл python запускать другой? и перепробовал вышеуказанные методы.Предпочтительный метод (импорт) здесь не кажется правильным, так как у меня нет импортируемой функции / класса - я просто хочу запустить скрипт.
Что я здесь недопонимаю, и может кто-то уточнить, в каких ситуацияхкаждый из этих методов (import, os.system () и exec ()) полезен / нет?