Вы можете легко запускать скрипты Python из других скриптов Python, используя подпроцессы. Что-то вроде:
import subprocess
subprocess.Popen("script2.py some_argument")
Проблема с использованием подпроцессов - довольно неприятно получать результаты из него (вы можете распечатать результаты из скрипта и затем получить их в родительском файле, но все же).
Лучшее решение - сохранить промежуточные результаты в некоторой базе данных (например, в простом файле SQLite), чтобы вы использовали основной сценарий для запуска дочерних сценариев, но при этом получали аргументы из базы данных и записывали результаты дочерних сценариев в базу данных. Это довольно просто и может решить ваши проблемы (https://docs.python.org/3/library/sqlite3.html).
Например, чтобы сохранить некоторую переменную в базе данных SQLite, все, что вам нужно:
import sqlite3
conn = sqlite3.connect("mydatabase.db")
cursor = conn.cursor()
# Create table (no need if it was created before)
cursor.execute("""CREATE TABLE example_table
(variable_name, variable_value)
""")
# Save changes
conn.commit()
# Insert data
cursor.execute("""INSERT INTO example_table
VALUES ('some_variable', 'some_value')"""
# Save changes
conn.commit()