Найти - Пользователи
Полная версия: Русские символы в пути python winXP
Начало » Python для новичков » Русские символы в пути python winXP
1
mironich
Python 2.7 OS WIN XP, на nix все ок пашет, при создани директори Windows Error 123,
пробовал по разному передовать бесполезно.
Код такой,
try:
	os.mkdir('C:\Documents and Settings\Администратор\Рабочий стол\photos\text')
except Exception, e:
	print e
Как я только со слэшами не эксперементировал..
М.б я переработал…
Но такой путь норм.. создает
u'C:\Documents and Settings\Администратор\Рабочий стол\889'
Стоит добавить в конец русские смимволы, или букву t как сразу летит Windows Error 123
4kpt
Есть разница между двумя метдами:
os.mkdir
os.makedirs
У меня все работает без проблем.
Возможно вопрос в рекурсивности создания каталогов :)
py.user.next
mironich
Как я только со слэшами не эксперементировал..
os.mkdir('C:\\Documents and Settings\\Администратор\\Рабочий стол\\photos\\text')
mironich
Тему можно,удалить а меня отправить спать, вместо юникода в софте я пихал строку в utf-8.
py.user.next Error 3 - Файл не существует….
4kpt
mironich
Я же Вам дал ответ.
Первый метод создает только один каталог по указанному пути (если путь не существует или в пути отсутсвует хотя-бы одна папка - получается ошибка Error 3).
Второй метод каталоги создает рекурсивно, т.е. он также создает вложенные каталоги которых не существует по указанному пути. Ошибка генерируется, если такой путь существует полностью или не может быть создан…
mironich
4kpt, спасибо, позже попробую, “рекурсивности” - я не правильно интерпритировал)
mironich
4kpt, таки не понял связи..
Путь существует, кроме последней папки(которую и надо создать).
4kpt
mironich
Каким образом я должен понять, существует ли полный путь. Мне приходится догадываться о Ваших неправильных действиях по коду ошибки.
mironich
py.user.next Error 3 - Файл не существует….



Привожу пример:
os.mkdir("c:\\Pych\\Up")
Папка Pych не существует (метод mkdir не может создавать рекурсивные пути). Следовательно выдает ошибку:
WindowsError: [Error 3] : 'c:\\Pych\\Up'
Если же путь сущестует весь (кроме последней папки в пути):
os.mkdir("c:\\Python27\\Up")
Ошибки не происходит и папка создается.

Для первого случае, когда не знаешь про фактическую структуру дерева каталогов, рационально использвать
os.makedirs("c:\\Pych\\Up")
Что позволит рекурсивно создать каталоги, даже если отдельных папок в пути нет…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB