Итерация по свойствам класса

На хосте POSIX Python определяет выходную кодировку из locale - набор переменных среды, которые сообщают, как среда настроена для различных языковых настроек. См. Функцию locale.getdefaultlocale() или, более конкретно, функцию locale.getpreferredencoding() .

Выход этой функции используется для установки sys.stdout.encoding , который затем используется для кодирования любого напечатанного текста в Юникоде.

Ваш языковой стандарт установлен на POSIX, а это означает, что кодировка по умолчанию - ASCII. Вам нужно будет настроить этот язык для использования кодировки, поддерживающей все Unicode. Как это сделать для Chromebook, я не знаю. На моем Mac локаль установлена ​​в en_US.UTF-8, в основном, поэтому весь стандарт Unicode поддерживается моим терминалом. Вы можете заставить проблему установить export LC_CTYPE=en_US.UTF-8.

Вы можете переопределить выбор Python, установив переменную среды PYTHONIOENCODING .

Обратите внимание, что на более последние выпуски Python 3, sys.stdout и sys.stderr используют обработчик ошибок backslashescape , который заменяет любой символ, который ваша консоль не может обрабатывать со стандартными \xhh, \uhhhh и \Uhhhhhhhh escape-последовательности; поэтому вместо исключения вы увидите:

Antelope Canyon, Arizona [1600\xd71068]   (

17
задан Chris Ballance 21 February 2009 в 05:09
поделиться

2 ответа

Да, это - возможное отражение использования. Определенные цвета определяются как помехи свойства Color struct.

 PropertyInfo[] colors = typeof(Color).GetProperties(BindingFlags.Static|BindingFlags.Public);
 foreach(PropertyInfo pi in colors) {
     Color c = (Color)pi.GetValue(null, null);
     // do something here with the color
 }
29
ответ дан 30 November 2019 в 12:27
поделиться

Вы могли бы также интересоваться этим кодом

http://blog.guymahieu.com/2006/07/11/deep-reflection-of-properties-propertyreflector/

, Он обеспечивает простой способ установить/получить свойства по имени. При изучении GetBestMatchingProperty, Вы найдете повторение по свойствам, которое сделано тот же путь, как отправлено прежде Итерация по свойствам класса

2
ответ дан 30 November 2019 в 12:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: