Не делай этого.
Ваши сценарии и ваши данные не должны быть объединены в один большой каталог. Поместите ваш код в какое-то известное место (site-packages
или /var/opt/udi
или что-то еще) отдельно от ваших данных. Используйте хороший контроль версий в своем коде, чтобы убедиться, что у вас есть текущие и предыдущие версии, отделенные друг от друга, чтобы вы могли вернуться к предыдущим версиям и проверить будущие версии.
Итог: не смешивайте код и данные.
Данные драгоценны. Код приходит и уходит.
Предоставить рабочий каталог в качестве значения аргумента командной строки. Вы можете указать значение по умолчанию в качестве переменной среды. Не делай вывод (или не угадывай)
Сделайте это обязательным значением аргумента и сделайте это.
import sys
import os
working= os.environ.get("WORKING_DIRECTORY","/some/default")
if len(sys.argv) > 1: working = sys.argv[1]
os.chdir( working )
Не «предполагайте» каталог, основанный на расположении вашего программного обеспечения. В долгосрочной перспективе это не сработает.