Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 18, 2012 16:05:33

KellyDink
От:
Зарегистрирован: 2011-12-03
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

замена строчек в html

Доброго времени суток, пытаюсь заменить пару строчек (а именно пути) на другие. но при попытке открыть файл выдает UnicodeEncodeError: ‘ascii’ codec can't encode characters in position 1-6: ordinal not in range(128)
притом я даже до замены не дошла, ему не нравится даже путь к файлу =(

а в родной IDLE выдает

>>> f=open("K:\работа\Отчет\Отчет\192.168.111.0.html", 'w')

Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
f=open("K:\работа\Отчет\Отчет\192.168.111.0.html", 'w')
IOError: [Errno 22] invalid mode ('w') or filename: 'K:\\\xf0\xe0\xe1\xee\xf2\xe0\\\xce\xf2\xf7\xe5\xf2\\\xce\xf2\xf7\xe5\xf2\x0192.168.111.0.html'

может я с ковычками напутала?



Офлайн

#2 Ноя. 18, 2012 16:11:19

reclosedev
От: Н.Новгород
Зарегистрирован: 2012-03-29
Сообщения: 870
Репутация: +  173  -
Профиль   Отправить e-mail  

замена строчек в html

 f=open(u"K:\работа\Отчет\Отчет\192.168.111.0.html", 'w')
http://docs.python.org/2/howto/unicode.html
http://habrahabr.ru/post/135913/

Офлайн

#3 Ноя. 18, 2012 16:35:46

KellyDink
От:
Зарегистрирован: 2011-12-03
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

замена строчек в html

Спасибо!

блин, раньше-то я писала путь без кодирования\декодирования в том же питоне!

только вот все-равно не работает =(

>>> f=open(u'C:\Новая папка\test.txt', 'w')
Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
f=open(u'C:\Новая папка\test.txt', 'w')
OSError: [Errno 22] Invalid argument: 'C:\\Новая папка\test.txt'

собственно с двойными ковычками то же самое!
и версии разные прообвала - сейчас 3.3, раньше 2.7
вот

>>> f=open('K:\test_1111.txt', 'w')
Traceback (most recent call last):
File "<pyshell#21>", line 1, in <module>
f=open('K:\test_1111.txt', 'w')
OSError: [Errno 22] Invalid argument: 'K:\test_1111.txt'
>>> f=open('K:\lalal','w')
f=open('K:\test\test', 'w')
Traceback (most recent call last):
File "<pyshell#23>", line 1, in <module>
f=open('K:\test\test', 'w')
OSError: [Errno 22] Invalid argument: 'K:\test\test'

как-то так - в своей директории файл он создает, файл в другой директории он создает без расширения, а с расширением отказывается. файл в еще какой-нибудь папке тоже отказывается! почему он капризничает?



Отредактировано KellyDink (Ноя. 18, 2012 16:45:49)

Офлайн

#4 Ноя. 18, 2012 16:50:06

igor
Зарегистрирован: 2012-05-01
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

замена строчек в html

\\

Офлайн

#5 Ноя. 18, 2012 16:59:59

sergeek
Зарегистрирован: 2012-06-26
Сообщения: 470
Репутация: +  43  -
Профиль   Отправить e-mail  

замена строчек в html

f=open(u'C:\\Новая папка\\test.txt', 'w')
f=open(r'C:\new folder\test.txt', 'w')
между одинарными и двойными кавычками разницы нет

Отредактировано sergeek (Ноя. 18, 2012 17:04:37)

Офлайн

#6 Ноя. 18, 2012 20:52:39

reclosedev
От: Н.Новгород
Зарегистрирован: 2012-03-29
Сообщения: 870
Репутация: +  173  -
Профиль   Отправить e-mail  

замена строчек в html

Точно, Юникод и кавычки не причем. Как уже выше сказали, дело в слэшах “\”.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version