Перепишите скрипт A так, чтобы он позволял сообщать сведения о прогрессе иначе. Упрощенный пример:
Было:
import time
for i in range(100):
time.sleep(1)
print($"{i}%")
Стало:
import time
def run_script(on_progress):
for i in range(100):
time.sleep(1)
on_progress(i)
if __name__ == '__main__':
run_script(lambda i: print($"{i}%"))
Тогда в другом скрипте будет:
from script_a import run_script
def my_progress(i):
pass # показываешь прогресс скрипта
run_script(my_progress)
Пример очень упрощённый, если скрипт выдаёт несколько видов информации, то либо on_progress будет иметь несколько параметров, либо потребуется несколько таких функций.