Найти - Пользователи
Полная версия: замена строчек в html
Начало » Python для новичков » замена строчек в html
1
KellyDink
Доброго времени суток, пытаюсь заменить пару строчек (а именно пути) на другие. но при попытке открыть файл выдает 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'

может я с ковычками напутала?
reclosedev
 f=open(u"K:\работа\Отчет\Отчет\192.168.111.0.html", 'w')
http://docs.python.org/2/howto/unicode.html
http://habrahabr.ru/post/135913/
KellyDink
Спасибо!

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

только вот все-равно не работает =(
>>> 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'

как-то так - в своей директории файл он создает, файл в другой директории он создает без расширения, а с расширением отказывается. файл в еще какой-нибудь папке тоже отказывается! почему он капризничает?
igor
\\
sergeek
f=open(u'C:\\Новая папка\\test.txt', 'w')
f=open(r'C:\new folder\test.txt', 'w')
между одинарными и двойными кавычками разницы нет
reclosedev
Точно, Юникод и кавычки не причем. Как уже выше сказали, дело в слэшах “\”.

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