Доступ к файлам данных внешних программ из скрипта на Python - PullRequest
0 голосов
/ 28 февраля 2012

У меня есть внешний ввод данных, который я использую в своих скриптах Python (фактически файл Excel в качестве шаблона). Этот внешний файл относится к версии скрипта, который я регистрирую в SVN. Так что я полагаю, что мне следует проверить и внешний файл?

Как вам удалось бы, чтобы скрипт нашел файл (я использую Windows)? Относительный путь к текущему каталогу? Проверять пути sys.path вручную? Какой-нибудь параметр, данный скрипту, который определяет корневой каталог относительных путей доступа?

Ответы [ 2 ]

0 голосов
/ 28 февраля 2012

Обычная идиома для поиска файлов данных такова:

my_dir = os.path.dirname(sys.argv[0])
data_file_path = os.path.join(my_dir, data_filename)

Так что, если ваш сценарий живет в /some/path/script.py, а data_filename равен myfile, это будет правильно найти /some/path/myfile, когда вашскрипт выполняется.


Это работает как в Windows, так и в Linux

0 голосов
/ 28 февраля 2012

Да, вы правы, вы должны добавить свой файл в SVN, если он жизненно важен для вашей программы в целом и необходим во время выполнения. Я бы использовал относительный путь и поместил указанный файл в папку проекта.

Для второй части вашего вопроса взгляните на diveintopython очень хорошее объяснение различных способов доступа к пути сценария.

...