Найти - Пользователи
Полная версия: Перекодировка русский символов при выполнении скрипта python через Cron
Начало » Python для новичков » Перекодировка русский символов при выполнении скрипта python через Cron
1 2
@19michail90@
Да, когда скрипт запускается не через cron, всё отлично. Работает как надо. Просто нужно это автоматизировать.
py.user.next
@19michail90@
Для третьего питона MySQLdb другая?
Там несколько разных модулей. Во втором питоне модуль для MySQL тоже не встроенный, а сторонний.
Смотри в репозиториях дебиана, для третьего питона пакеты содержат признак, что это для третьего питона.
Пример модуля (который можно поставить через pip) https://pypi.python.org/pypi/mysql-connector/2.1.6

@19michail90@
Да, когда скрипт запускается не через cron, всё отлично.
Это понятно, нужно всё равно третий питон ставить. Там он сильно переработан и многие глюки второго питона уже ушли в прошлое. Будешь второй питон юзать - будут вылазить новые проблемы.
@19michail90@
Когда скрипт запускается не через cron, всё работает как надо. Стоило автоматизировать, и такая проблема всплыла.
py.user.next
@19michail90@
Когда скрипт запускается не через cron, всё работает как надо.
Правильность скрипта под вопросом. В во втором питоне юникодовые строки выводятся в списках, тогда как в третьем питоне в списках выводятся русские символы. То есть питоны просто различаются на одном и том же коде. Но вот вывод в списках - это неправильно само по себе. Но даже если ты правильно напишешь, при запуске во втором питоне проблемы всё равно будут возникать, так как там многие вещи делаются через одно место.

То есть ты можешь сохранять прямо списки из питона в базу данных и даже не понимать, что это неправильно.

Вот различия вывода

Третий питон
  
>>> ['привет']
['привет']
>>>

Второй питон
  
>>> ['привет']
['\xd0\xbf\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82']
>>> 
>>> [u'привет']
[u'\u043f\u0440\u0438\u0432\u0435\u0442']
>>>
@19michail90@
В продолжении к предыдущей проблеме. Переделал скрипт под python 3, но когда пытаюсь получить данные из AD по определенным фильтрам, выпадает ошибка:

File “/usr/local/lib/python3.5/dist-packages/ldap3/core/connection.py”, line 1130, in entries
self._entries = self._get_entries(self.response)
File “/usr/local/lib/python3.5/dist-packages/ldap3/core/connection.py”, line 1140, in _get_entries
resp_attr_set = set(response.keys())
Поиск по гугл не помогает((
@19michail90@
Не знаю, что вы там говорили, что python 3 лучше, я уже замучался адаптировать скрипт под него.
Он почему то стал вытаскивать из домена атрибуты, которых нет и за этого ошибка получается. Во втором такой проблемы не было, всё работало, только через cron не хотел. Теперь вообще не работает.
py.user.next
@19michail90@
Переделал скрипт под python 3
Где скрипт?
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