Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 5, 2016 15:00:37

andrei186
Зарегистрирован: 2016-02-04
Сообщения: 90
Репутация: +  -1  -
Профиль   Отправить e-mail  

Как сохранить файл в кириллице?

Вобщем
filename=unicode(filename)
решает проблему
Получается, что
unicode(filename) и filename.encode('utf-8')
дают разные результаты?

Офлайн

#2 Фев. 5, 2016 21:15:57

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Как сохранить файл в кириллице?

andrei186
unicode(filename) и filename.encode('utf-8')
дают разные результаты?

Однозначно! Первый дает unicode а второй utf-8. Прочувствуйте разницу.

andrei186
А где я проделаю…

В консоли конечно.



Офлайн

#3 Фев. 7, 2016 13:10:49

andrei186
Зарегистрирован: 2016-02-04
Сообщения: 90
Репутация: +  -1  -
Профиль   Отправить e-mail  

Как сохранить файл в кириллице?

py.user.next
>>> 'ффф'.encode('utf-8').decode('cp1251')
'ффф'
>>>
Спасибо, но у меня все гораздо сильнее запущенно:
>>> 'ффф'.encode('utf-8').decode('cp1251')
File "<pyshell#6>", line 1, in <module>
'ффф'.encode('utf-8').decode('cp1251')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xf4 in position 0: ordinal not in range(128)

Офлайн

#4 Фев. 7, 2016 13:25:12

andrei186
Зарегистрирован: 2016-02-04
Сообщения: 90
Репутация: +  -1  -
Профиль   Отправить e-mail  

Как сохранить файл в кириллице?

doza_and
Однозначно! Первый дает unicode а второй utf-8. Прочувствуйте разницу.
а код
u'ффф.jpg' 
дает unicode или utf-8 ?

doza_and
В консоли конечно.
Я там сообщил, что Виндовая командная строка про dir ничего не возвращает, про ls вщзвращает что она не явл командой или исполняемым файлом. А в Терминале Дебиана - тоже ничго не возвращает.
Я думал, что виндовая командная строка и Терминал Дебиана - суть консоли. Тогда что Вы подразумеваете под консолью

Офлайн

#5 Фев. 7, 2016 13:28:11

andrei186
Зарегистрирован: 2016-02-04
Сообщения: 90
Репутация: +  -1  -
Профиль   Отправить e-mail  

Как сохранить файл в кириллице?

П.С. Где на этом форуме кнопка вставить тег

[code][/code]?

Отредактировано andrei186 (Фев. 7, 2016 13:30:17)

Офлайн

#6 Фев. 7, 2016 13:38:33

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Как сохранить файл в кириллице?

andrei186
Спасибо, но у меня все гораздо сильнее запущенно:
Открой командную строку cmd.exe, там запусти python и выполняй всё в нём.



Офлайн

#7 Фев. 7, 2016 13:51:30

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Как сохранить файл в кириллице?

andrei186
Где на этом форуме кнопка вставить тег
12 кнопка на тулбаре. помечена стилизованым <>
andrei186
дает unicode или utf-8 ?
Даст unicode, но только в том случае, когда кодировка файла совпадает с кодировкой, указанной в начале файла (модуля питона).
andrei186
Я там сообщил, что Виндовая командная строка про dir ничего не возвращает
Команду вы какую выполнили?
dir >1
В этом случае стандартный вывод команды перенаправлен в файл с именем “1”. Там и ищите результат.



Офлайн

#8 Фев. 7, 2016 14:40:59

andrei186
Зарегистрирован: 2016-02-04
Сообщения: 90
Репутация: +  -1  -
Профиль   Отправить e-mail  

Как сохранить файл в кириллице?

py.user.next
Открой командную строку cmd.exe, там запусти python и выполняй всё в нём
Дало ту же ошибку, что и IDLE:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xf4 in position 0: ordinal not in range(128)
Какой из этого вывод что подкрутить?
ПС. А что, результат в командной строке ожидался другим, чем в IDLE?

Офлайн

#9 Фев. 7, 2016 14:46:29

andrei186
Зарегистрирован: 2016-02-04
Сообщения: 90
Репутация: +  -1  -
Профиль   Отправить e-mail  

Как сохранить файл в кириллице?

py.user.next
# coding: utf-8
У меня стоит
# -*- coding: UTF-8 -*-
еще видел
#coding: utf-8
Эти вариации имеют разный эффект?
Также мой файл предполагается использоваться на Линуксе, для которого первой строкой идет
#!/usr/bin/ python

В этом случае, которое заклинание должно быть поставлено первым?

Офлайн

#10 Фев. 7, 2016 14:55:26

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Как сохранить файл в кириллице?

andrei186
Дало ту же ошибку, что и IDLE:
Просто консоль открой и введи там
'ффф'

andrei186
для которого первой строкой идет
#!/usr/bin/ python
Это неправильно.
Должно быть
#!/usr/bin/env python
# coding: utf-8



Отредактировано py.user.next (Фев. 7, 2016 14:57:56)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version