Мне нужно запустить скрипт foo.py, но мне также нужно вставить несколько строк отладки для запуска перед кодом в foo.py. Сейчас я просто помещаю эти строки в foo.py и стараюсь не передавать их в Git, но такое решение мне не нравится.
Мне нужен отдельный файл bar.py, который я не передаю в Git. Тогда я хочу бежать:
Код: Выделить всё
python /somewhere/bar.py /somewhere_else/foo.py
Что я хочу, так это сначала запустить несколько строк кода в bar.py, а затем запустить foo.py как __main__< /код>. Это должен быть тот же процесс, в котором выполнялись строки bar.py, иначе строки отладки не помогут.
Есть ли способ сделать bar.py сделать это?
Кто-то предложил это:
Код: Выделить всё
import imp
import sys
# Debugging code here
fp, pathname, description = imp.find_module(sys.argv[1])
imp.load_module('__main__', fp, pathname, description)
Проблема в том, что, поскольку он использует механизм импорта, мне нужно находиться в той же папке, что и foo.py, чтобы его запустить. Я не хочу этого. Я хочу просто указать полный путь к foo.py.
Также: решение также должно работать с файлами .pyc. .
Подробнее здесь:
https://stackoverflow.com/questions/321 ... -my-script