Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 13, 2014 23:00:21

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

День недели в ввиде Пн, Вт, Ср и т.д.

JOHN_16
Budulianin
еще интереснее

Ну дак задай её через setlocale, и будет такая, какую укажешь.



Отредактировано Budulianin (Янв. 13, 2014 23:01:07)

Офлайн

#2 Янв. 13, 2014 23:11:31

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

День недели в ввиде Пн, Вт, Ср и т.д.

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



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Янв. 13, 2014 23:12:50

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

День недели в ввиде Пн, Вт, Ср и т.д.

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

С чего ты взял что именно на винде он нежелателен ?

Из-за того что локаль None ?



Отредактировано Budulianin (Янв. 13, 2014 23:13:26)

Офлайн

#4 Янв. 14, 2014 00:08:04

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

День недели в ввиде Пн, Вт, Ср и т.д.

JOHN_16
я к тому что на Винде данный метод в целом не желателен, и лучше использованием списка с задаными нужным образом днями - такой код всегда даст нужный результат. в отличии от локали
Ну уж нет.
Давайте не будем повторять ошибок американцев с их ANSI.
Гвидо писал о реализации C-шных строковых модулей Питона:
According to the ANSI standard, a C program *must* call setlocale(LC_…, “”) if it wants the environment variables to be honored
А все почему?
На одной и той же машине у разных пользователей может быть разная локаль - мы живем в мире трансатлантических корпораций, кругосветных путешествий и удаленной работы.



Офлайн

#5 Янв. 14, 2014 01:47:47

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

День недели в ввиде Пн, Вт, Ср и т.д.

Budulianin
С чего ты взял что именно на винде он нежелателен ?
Из-за того что локаль None ?
прошу прощения за поспешный вывод, на линуксе тоже обнаружил такое - возвращение кортежа из None.
Спутался с locale.getdefaultlocale()

Lexander
Все таки ваша правда=)
Думаю что при написании правильного кода нужно устанавливать локаль.
>>> locale.setlocale(locale.LC_ALL, '')
'Russian_Russia.1251'
>>> locale.getlocale()
('Russian_Russia', '1251')
>>> print time.strftime('%a', time.localtime(t))
Пн
Я не углубился в тему вопроса. но для меня несколько странно почему она не устанавливается по умолчанию. ведь настройки то по умолчанию есть…



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#6 Янв. 14, 2014 02:34:26

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

День недели в ввиде Пн, Вт, Ср и т.д.

JOHN_16
Все таки ваша правда=)
Думаю что при написании правильного кода нужно устанавливать локаль.

Было бы очень странно, иметь локализации в системе, иметь модуль в Python для работы с локализациями и не пользоваться этим всем.

JOHN_16
Я не углубился в тему вопроса. но для меня несколько странно почему она не устанавливается по умолчанию. ведь настройки то по умолчанию есть…

Вообще-то, если настройки бы у тебя были прописаны, то возвратился бы не None.

budulianin@budulianin-F5V:~$ locale
LANG=ru_RU.UTF-8
LANGUAGE=en_US
...
>>> import locale
>>> locale.getlocale()
('ru_RU', 'UTF-8')
budulianin@budulianin-F5V:~$ export LANG=
budulianin@budulianin-F5V:~$ locale
LANG=
LANGUAGE=en_US
...
>>> import locale
>>> locale.getlocale()
(None, None)



Отредактировано Budulianin (Янв. 14, 2014 02:35:25)

Офлайн

#7 Янв. 14, 2014 04:51:26

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

День недели в ввиде Пн, Вт, Ср и т.д.

Budulianin
у меня в линухе openSUS 12.1 это есть

Budulianin
LANG=ru_RU.UTF-8
а этого нет
Budulianin
LANGUAGE=en_US
и LC_ALL пустой.

Budulianin
budulianin-F5V
ноут ASUS-F5 серии ?:-)



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#8 Янв. 14, 2014 04:57:55

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

День недели в ввиде Пн, Вт, Ср и т.д.

JOHN_16

LANG непустой и None выводит?

ASUS X50V, а что ?



Офлайн

#9 Янв. 14, 2014 06:23:14

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

День недели в ввиде Пн, Вт, Ср и т.д.

Budulianin
LANG непустой и None выводит?
именно так. в LANG значится ru_RU.UTF-8, а locale.getlocale() выводит (None, None)

Budulianin
ASUS X50V, а что ?
та не, эт просто, ничего



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#10 Янв. 14, 2014 22:30:44

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

День недели в ввиде Пн, Вт, Ср и т.д.

Lexander
На одной и той же машине у разных пользователей может быть разная локаль
автору нужно, чтобы отображалось “Пн, Вт, Ср”
не где-то “Пн”, где-то “Пон”, а где-то “Mon”

JOHN_16
менно так. в LANG значится ru_RU.UTF-8, а locale.getlocale() выводит (None, None)
может быть настроено одно, а выводиться другое

у меня был случай на C: программа создавала логи, а именовала их по дате с помощью strptime(); поначалу всё работало нормально, но на другой системе это вылилось в кракозябры в именах
причём имена проверялись на английских названиях, поэтому поначалу как-то и подуматься не могло, что там что-то сломается



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version