
25.07.2009, 14:01
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
С нами:
9427413
Репутация:
973
|
|
Сообщение от Refresh
Вопрос, можно ли сделать так что бы при компиляции py2exe, все паковалось в один ехе файл, все библиотеки модули и все остальное
И да и нет 
Оно там если пакует в один файл, то это фактически один sfx-архив, перед запуском оно распаковывается во временный каталог и работает из него, относительные пути не канают, динамическую подгрузку тож не сделаешь, фиг угадаешь из какой диры запускали скрипт
|
|
|

23.07.2009, 19:43
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
С нами:
10216668
Репутация:
930
|
|
Я что-то слышал о Cx_freeze. А вообще поюзай google: ответы там есть.
|
|
|

29.07.2009, 21:31
|
|
Постоянный
Регистрация: 15.03.2008
Сообщений: 441
С нами:
9555536
Репутация:
95
|
|
есть установщик самого питона и его интерпритатора (PyScripter например) на кпк/коммуникатор ибо долгое время не бываю дома, нетбука нет.
П.С. Glofish x800 стоит винда 6.0.
|
|
|

30.07.2009, 09:19
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
С нами:
9427413
Репутация:
973
|
|
Есть Linux (на работе) и Windows (дома), есть как сорцы под линуху, так и инсталлятор под винду, дома почти каждый день, на работе тоже (кроме выходных), нетбука тоже нет.
P.S. Nokia(хз че за модель, близко к 3310, 6230 свою раздавил  )
|
|
|

13.08.2009, 01:17
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
С нами:
9497186
Репутация:
1304
|
|
Есть ли для питона какой-нибудь аналог пхпшной функции mb_detect_encoding? Есть простенький модуль для джабберного бота, который открывает порт и пересылает все принятые на него данные дальше. Соединение может быть откуда угодно (телнет, пхп сокет, и т.д.) Поэтому и кодировок несколько CP866, CP1251, UTF8. Как бы подружить их всех с русским языком?
|
|
|

13.08.2009, 09:03
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
С нами:
9427413
Репутация:
973
|
|
Сообщение от Gifts
Есть ли для питона какой-нибудь аналог пхпшной функции mb_detect_encoding? Есть простенький модуль для джабберного бота, который открывает порт и пересылает все принятые на него данные дальше. Соединение может быть откуда угодно (телнет, пхп сокет, и т.д.) Поэтому и кодировок несколько CP866, CP1251, UTF8. Как бы подружить их всех с русским языком?
Нету аналогов  Я сам бы много отдал за автоматическое определение кодировки...
__mad, не в теме, это не то что нужно
|
|
|

13.08.2009, 03:40
|
|
Участник форума
Регистрация: 04.11.2007
Сообщений: 103
С нами:
9745696
Репутация:
104
|
|
Есть ли для питона какой-нибудь аналог пхпшной функции mb_detect_encoding?
С питоном незнаком, но первая сцыль в гугле выдала http://chardet.feedparser.org , похоже то что требуется.
|
|
|

13.08.2009, 16:49
|
|
Участник форума
Регистрация: 04.11.2007
Сообщений: 103
С нами:
9745696
Репутация:
104
|
|
__mad, не в теме, это не то что нужно
Хм, и почему же это не подходит?
вот например создаем файлы с разными кодировками:
$iconv -f UTF-8 -t 866 <(echo Привет) > enc-866
$iconv -f UTF-8 -t WINDOWS-1251 <(echo Привет) > enc-windows-1251
$echo Привет > enc-utf-8
Теперь запускаем следующий код (использующий эту либу):
Код:
import glob
from chardet.universaldetector import UniversalDetector
detector = UniversalDetector()
for filename in glob.glob('enc-*'):
print filename.ljust(60),
detector.reset()
for line in file(filename, 'rb'):
detector.feed(line)
if detector.done: break
detector.close()
print detector.result
$ python enc.py
enc-866 {'confidence': 0.98999999999999999, 'encoding': 'IBM866'}
enc-windows-1251 {'confidence': 0.98999999999999999, 'encoding': 'windows-1251'}
enc-utf-8 {'confidence': 0.98999999999999999, 'encoding': 'utf-8'}
Как видно, скрипт (точней либа) правильно определила разные кодировки.
|
|
|

13.08.2009, 17:10
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
С нами:
9427413
Репутация:
973
|
|
Не обратил внимания на то что он работает со строками, в таком случае да, но я не доверяю чужим модулям, до тех пор пока они не попадают в стандартную библиотеку.
Доверяю Гвидо на все 100%, такая цацка я думаю была бы востребована, если ее не включили в стандартную поставку(более чем уверен в том, что этот вопрос поднимался), знач чето с ней не то.
Вообще, если разобраться по большому счету, то использование чужих модулей конкретно сказывается на юзерах - первое это зависимости(и неудобство как следствие того), а второе-это кривизна кода самого модуля, упрощение команд бота ИМХО(!) не стоит того, чтобы рисковать и ставить непонятно что, которое неизвестно как будет работать.
Кому как, а я (с) Мы не ищем лёгких путей!
Последний раз редактировалось login999; 13.08.2009 в 17:18..
|
|
|

13.08.2009, 17:56
|
|
Участник форума
Регистрация: 04.11.2007
Сообщений: 103
С нами:
9745696
Репутация:
104
|
|
до тех пор пока они не попадают в стандартную библиотеку.
Сторонние модули будут всегда, в независимости от того хорошо они написаны или криво, из за того что в стандартную библиотеку по простому все не влезет, да и не надо оно там.
Вообще, если разобраться по большому счету, то использование чужих модулей конкретно сказывается на юзерах
Это тоже довольно спорно, юзер может даже и не знать что в программе используется тот или иной не стандартный модуль, по простому я могу распространять свою программу с этими модулями.
а второе-это кривизна кода самого модуля
Я думаю что люди пишущие модули, вполне способны качественно написать код, тем более если они это пишут не только для себя.
которое неизвестно как будет работать.
Вполне известно, например для этой либы в документации есть файлик how-it-works.html где вполне кратко описан алгоритм работы либы (в крайнем случае можно пробежаться по коду).
С этим согласен, бот должен по возможности состоять только из кода входящего в стандартную библиотеку (для минимизации размера, и возможность запуска в различных средах).
Еще как вариант, можно использовать вот такой способ:
Код:
enc_list=['utf-8', 'windows-1251', 'IBM866']
def try_encoding(text):
for try_enc in enc_list:
try:
unicode(text, try_enc, "strict")
except:
pass
else:
break
return try_enc
Правда с 866 он не выдает экзепшен, так что для этой кодировки нужно придумать что ни будь другое.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|