![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| cooluser |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 31.1.2007 Репутация: нет Всего: нет |
Всем привет!
Возникла следующая проблема, есть модуль, который читает данные из файликов, которые лежат в подкаталоге относительно каталога с модулем, т.е. примерно так: ** catalog1 *** python_module.py *** catalog2 **** file_in_catalog2.txt Т.е. внутри python_module.py есть такой код: f=file("catalog2/file_in_catalog2.txt") И это все прекрасно работает только тогда, когда python_module.py запускается из каталоге где он лежит, если текущий каталог какой-нибудь другой, то происходит ошибка при открытии файла, поскольку питон не может его найти. Как это можно победить? т.е. чтобы путь в модуле стал действительно относительным и ни от чего не зависел Добавлено @ 09:51 Ну или другими словами, есть ли в питон функция, которая будучи вызвана внутри модуля, возвращает полный абсолютный путь до этого модуля, независимо от того, как и откуда он запускался? |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 9 Всего: 70 |
Стандартных вроде нет
|
|||
|
||||
| cooluser |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 31.1.2007 Репутация: нет Всего: нет |
Спасибо, здорово помог
|
|||
|
||||
| sir_Jack |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 15.1.2007 Репутация: 3 Всего: 4 |
альтернативы:
также можно посмотреть что лежит в sys.argv[0] и впихнуть в os.chdir() в самом начале скрипта |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 9 Всего: 70 |
||||
|
||||
| sir_Jack |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 15.1.2007 Репутация: 3 Всего: 4 |
да
собственно команда os.chdir(sys.argv[0]) дает возможность считать все пути по директориям относительно скрипта т.е. не надо впринципе использовать абсолютные пути а вообще, где то я слышал что использовать os.chdir() при работе внутри скрипта и перемещению по диреткоряим - не слишком правильно |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 9 Всего: 70 |
||||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Python: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |