Уведомления

Группа в Telegram: @pythonsu

#1 Май 5, 2010 19:16:51

pasaranax
От:
Зарегистрирован: 2009-06-13
Сообщения: 574
Репутация: +  0  -
Профиль   Отправить e-mail  

обращение к файлам по относительным путям

Вроде не первый день пишу на питоне, а этот вопрос все мучает меня. Например, мне надо импортировать .py-файлы из подпапки plugins в папке программы, я делаю ‘os.listdir(“plugins”)’, чтобы получить их список. И все в порядке, когда я запускаю main.py находясь в его папке, как это делает IDE или даблклик, но если запустить, например, по абсолютному пути, то plugins не находится. И тут я начинаю городить что-то вроде 'os.chdir(os.getcwd() + “/” + “/”.join(sys.argv.split(“/”)))', что уже даже не кроссплатформенно получается. Но ведь, например import знает отуда файлы импортировать, если они рядом с запускаемым лежат, значит есть какой-то человеческий способ обрщаться к соседним файлам?



Офлайн

#2 Май 5, 2010 20:14:06

Nik
От:
Зарегистрирован: 2010-01-10
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

обращение к файлам по относительным путям

Сделайте каталог с исполняемым файлом текущим:

os.chdir(os.path.dirname(__file__))



Офлайн

#3 Май 5, 2010 22:17:18

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

обращение к файлам по относительным путям

А еще лучше - делать все как положено: package, setup.py, executable script…



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version