
Dmitry
26.06.2017
11:53:44
хуливытут?

Eugine
26.06.2017
11:54:21

Kisialeu
26.06.2017
12:01:27
Привет

Eugine
26.06.2017
12:02:36
Для любителей многозначных вопросов и приветов: http://neprivet.ru/

Google

Kisialeu
26.06.2017
12:03:02
В общем в папке лежат пай файлы, в каждом файле есть дочерний класс , как из мэйна вызвать по очереди метод в каждом файле в пвпке чтобы не делать импорт какждого файла?

Alexey
26.06.2017
12:03:15
Никак.

Kisialeu
26.06.2017
12:03:21
А глоб

Eugine
26.06.2017
12:03:23
так или иначе импорт тебе придется сделать
просто явный или неявный

Alexey
26.06.2017
12:03:45
Да хоть блоб. Импортировать — нужно. Без импорта содержимое файла не окажется нигде кроме как там.
В каждом файле класс дочерний от которого?

Kisialeu
26.06.2017
12:04:03
Я понимаю, как мне в цикл это запустить

Alexey
26.06.2017
12:04:22
while True:
exit(1)

Eugine
26.06.2017
12:05:26

John
26.06.2017
12:05:33

Eugine
26.06.2017
12:05:47
это важно

Google

John
26.06.2017
12:06:31
ты уже кончил?
На улице в центре default-city сложно эту цепочку провернуть

Eugine
26.06.2017
12:06:49
да ты как будто не москвич
берешь и дрочишь

Zart
26.06.2017
12:07:05
imp.load_module лучше вместо __импорт__

Alexey
26.06.2017
12:07:10
Вроде мальчик. Зачем ему брать.

Eugine
26.06.2017
12:07:38

John
26.06.2017
12:07:42
Неа...мАсквичи не провинциалы...они баб не ебут...да и я не мАсквич

Eugine
26.06.2017
12:08:00
слишком тонко
но да, наверное ты прав - так лучше

Zart
26.06.2017
12:09:42
не совсем
лоад_модуль вроде не оставляет следов в sys.modules, но я не уверен
плюс вопрос не потянут ли те модули за собой другие

Eugine
26.06.2017
12:10:26
https://docs.python.org/2/library/imp.html#examples

John
26.06.2017
12:17:04
def loadModules():
res = {}
lst = os.listdir("services")
dir = []
for d in lst:
s = os.path.abspath("services") + os.sep + d
if os.path.exists(s) and '.py' in s and '.pyc' not in s:
dir.append(d.rstrip('.py'))
for d in dir:
if 'module' in d:
res[d] = __import__("services." + d, fromlist=["*"])
return res
такой быдло код

Alexey
26.06.2017
12:17:24
За строчку №4 нужно бить в лицо садовым секатором.
'.py' in s — это вообще лол.

John
26.06.2017
12:17:57
:)

Google

Igor
26.06.2017
12:18:04
нахуй она нужна вообще, кроме как для дебаггинга

Alexey
26.06.2017
12:18:20
os.path.splitext(s)[1] in ['.py', '.pyc']

John
26.06.2017
12:18:44
там указано, быдло-код

Zart
26.06.2017
12:18:50
зачем вообще это все интересно

Alexey
26.06.2017
12:19:30
dir.append(d.rstrip('.py')) — да бля.

Eugine
26.06.2017
12:19:35
или если логика такая хитрая, то intersection set'ов

Alexey
26.06.2017
12:22:51
set ^ set слишком сложно.

John
26.06.2017
12:23:51
там на самом деле дальше примитивный трэш
service_module_dict = loadModules()
list_of_workers = []
for k in service_module_dict:
names_of_workers = [row[0] for row in inspect.getmembers(service_module_dict[k], inspect.isclass) if
'_worker' in row[0]]
if len(names_of_workers) > 0:
structs = [names_of_workers[0],service_module_dict[k]]
w = (getattr(structs[1], structs[0]))
list_of_workers.append(w)
pool = TreadPool(4)
pool.map(start_worker, list_of_workers)
pool.close()
pool.join()

Alexey
26.06.2017
12:26:43
if len(names_of_workers) > 0:
Смешная строчка.
structs = [names_of_workers[0],service_module_dict[k]]
w = (getattr(structs[1], structs[0]))
Вообще хорошо.

John
26.06.2017
12:28:05
было похуй...быстро запустилось....и работает более года

Zart
26.06.2017
12:28:38
или как получить коде ревью нахаляву

John
26.06.2017
12:29:06
:)....ту часть никто переделывать не будет...сейчас всё по другому пашет
а автомноный скрипт - с этим кодом работает по тихому...и главное данные обрабатывают...и нормально

Zart
26.06.2017
12:30:34

John
26.06.2017
12:36:00
в директории куча файлов на питоне с описанием неких классов которые обрабатывают данные среди кода есть класс с названием содержащим _worker....надо было разом запускать все воркеры...точней в крон задача на запуск одного питон файла, а дальше уже другие по мере написания обработчиков туда скидывали файлы Py с со своими классами.

Google

Zart
26.06.2017
12:36:54
...
ирландское рагу

John
26.06.2017
12:37:33
ну почему нет?
"ваш шашечки, или ехать" (с)

Евгений
26.06.2017
12:43:17
для перечисления файлов glob.glob хорошо использовать

John
26.06.2017
12:44:42
спасибо

Zart
26.06.2017
13:46:22
[zart@freebsd ~/working-on/zart-python]$ parts/opt/bin/python3.6
Python 3.6.1 (default, Jun 26 2017, 16:12:52)
[GCC 4.2.1 Compatible FreeBSD Clang 3.8.0 (tags/RELEASE_380/final 262564)] on freebsd11
Type "help", "copyright", "credits" or "license" for more information.
>>>
нито... 8\
вот так сидишь, читаешь доки по ключам билда питона, и внезапно выясняется что там говно мамонтов, которое в 3.7 уже выпилят - https://mail.python.org/pipermail/python-dev/2017-January/147094.html

Vespertilio
26.06.2017
16:12:21
ну легаси оно такое да

Zart
26.06.2017
16:19:52
эх... чота сборка питона с нуля вылилась в ниибический граф зависимостей

Vespertilio
26.06.2017
16:38:43
там же порты шмяк хряк и готово

Zart
26.06.2017
16:38:51
везде

Vespertilio
26.06.2017
16:39:21
о_О
в коллекцию что ли?)

Zart
26.06.2017
16:39:53
типа
идея в том, чтобы в одну команду поставить пачку 32/64 битности на произвольной платформе
по факту те же порты
сбилдить - говновопрос
корректно сбилдить - хуй

Google

Vespertilio
26.06.2017
16:41:55
на 64 битной системе еще пол системы зависимостей потянет из 32 битных либ

Eugine
26.06.2017
16:42:15
зачем ты это делаешь? ты же не сможешь там дышать

Zart
26.06.2017
16:42:17
пока хватало минимума

Dmitry
26.06.2017
16:42:40
а на 32 битной платформе 64 битный питон не поставится вообще? :)

Zart
26.06.2017
16:42:51
ммм... не поставится
я знаю лишь пару способов гонять 64бит бинарники на 32бит системе
оба через эмуляторы

Dmitry
26.06.2017
16:44:38
было дело powerpc макось запускал на p4 :D

Alexey
26.06.2017
16:45:06

Vespertilio
26.06.2017
16:45:32
пф, эпол прям в макось для x86 встроила эмуляцию ppc

Zart
26.06.2017
16:45:34
как же тг пидарасит от 80 символов

Alexey
26.06.2017
16:45:46

Vespertilio
26.06.2017
16:45:49
мне показалось или там лепровские чатики пролетели?

Alexey
26.06.2017
16:46:01
Ну, чтобы фонты даунскейлились и всё такое. И форматировалось само в моноширин.

Zart
26.06.2017
16:46:03
Installed Packages
clang.i686
clang-devel.i686
clang-libs.i686
compiler-rt.i686
glibc.i686
glibc-devel.i686
libX11.i686
libX11-devel.i686
libXau.i686
libcrypt-nss.i686
libffi.i686
libgcc.i686
libstdc++.i686
libstdc++-devel.i686
libxcb.i686
libxml2.i686
llvm-libs.i686
ncurses-c++-libs.i686
ncurses-devel.i686
ncurses-libs.i686
nss-softokn-freebl.i686
xz-libs.i686
zlib.i686
ну в общем этого более чем достаточно. причем некоторые даже лишние

Alexey
26.06.2017
16:46:29
А хз либс зачем?
А с иксами он чо делае?

Zart
26.06.2017
16:46:50
как зачем. их в питон впидарасили еще в 3.2 гдето
иксы для тк

Alexey
26.06.2017
16:47:03
А он по дефолту собирается всегда что ли?