Форум сайта python.su
Всем привет.
в программе используются пути, а поскольку символ обратного слеша служит для экранирования, то все пути собирал с использованием двойного слеша, как и написано в описании синтаксиса.
пример пути:
mypath='c:\\foo\\bar'
mypath=r'c:\\foo\\bar'
Офлайн
Разумней не хардкодить слеши, а использовать os.path.sep:
>>> import os
>>> os.path.sep
'\\'
>>> os.path.join("foo","bar")
'foo\\bar'
>>>
Офлайн
Спасибо за совет, но увы, в той системе это не работает, переписал все пути с использованием os.path.join - всё равно не находит путь из-за лишних слешей.
более того os.path.sep так же показывает
>>> import os
>>> os.path.sep
'\\'
>>> import locale
>>> print locale.getpreferredencoding()
cp1251
Офлайн
а у вас, случаем, русских символов нет в пути?
Офлайн
нет, только английские буквы и цифры
Офлайн
Можно эксепшен увидеть?
Офлайн
Исключение было примерно такое:
Windows error code: 3
Проблема была в кривизне моих рук и отсутствием опыта работы с windows.
А если подробнее, то не правильно формировался один из путей и соответственно… Поведение windows мне не знакомо - это первая программа которую я пишу под эту ос, учился и писал программки исключительно в linux
Спасибо всем за помощь.
Офлайн
То есть проблема решена?
Офлайн
Да
Офлайн