
Маришка
18.04.2017
10:50:58

Zart
18.04.2017
10:51:34
в ру-питоне какой-то очередной ад из любителей компелировать похоже

Маришка
18.04.2017
10:51:43
Ага

b0g3r
18.04.2017
10:51:45

Google

Alex
18.04.2017
10:51:45

b0g3r
18.04.2017
10:53:14

Zart
18.04.2017
10:53:18
человек спрашивавший про "хост, а не вдс/впс" тоже порадовал
явно подразумевал пхп-стайл деплой

b0g3r
18.04.2017
10:53:49
отправишь туда строку - упадет peel, отправишь словарь - упадет flance
консистентно :)

Vitalii
18.04.2017
10:54:29
Вопрос: безопасно ли делать проги в продавшен на пайтоне? Слышал, что можно с байкода восстановить код. И никакая защита не поможет.

b0g3r
18.04.2017
10:54:42
попробуй .fleece
перепроверь как будет время, и если это не я кривой, а оно - напиши ишью

Zart
18.04.2017
10:55:00
а в "безопасно" что входит? натягивание гондона?

Маришка
18.04.2017
10:55:55

Zart
18.04.2017
10:56:15
исходный код питона достаточно тривиально декомпилируется, против этого есть ряд вариантов, но практически ни один из них не рассчитан на защиту

b0g3r
18.04.2017
10:56:28
Оки
На самом деле я посмотрел код
Оно просто не пытается работать с update-object, которые приходят на вебхук

Google

b0g3r
18.04.2017
10:56:56
оно хочет работать с msg-объектом

Маришка
18.04.2017
10:57:23
А как ты привязал его на вебхук?

b0g3r
18.04.2017
10:57:45
да никак я не привязывал, я получаю жсон, перегоняю его в структуры питона
это может быть как словарь, так и строка
если мы об одном говорим
половина телепота творит херню, другая половина не хочет кушать то, что я ему скармливаю
потому что не умеет экстрактить из update-object'ов message-object'ы
а там ещё в update-object'e могут прийти например инлайн и всякое такое

Roman
18.04.2017
11:01:24
Подскажите, что я делаю не так.
Нужно по строчно прочитать файл, если есть совпадаение, в пример будет 00654, то выводить "есть совпадение".
f = open('0B17F887-9991-4156-9149-4A4CA9BC114F.txt', 'r')
l = [line.strip() for line in f]
for i in l:
if l == '00645':
print(i)
как я написал

Маришка
18.04.2017
11:01:29
Вот хз, если вязать вебхук то в message_loop нужно скармливать асинхронную очередь в которой будут обработанные месаги
https://github.com/nickoala/telepot/blob/master/examples/webhook/aiohttp_skeletona.py

b0g3r
18.04.2017
11:02:27
мне такое неинтересно

Маришка
18.04.2017
11:03:11

b0g3r
18.04.2017
11:04:40
просто беру и получаю их - это ж обычный жсон, чего его получать
приходит на вебхук, я их обрабатываю
без всяких очередей, встроенных в бота диспетчеров и всего такого

Google

Проксимов
18.04.2017
11:04:58

Маришка
18.04.2017
11:05:05
И так
Одно и тоже

Проксимов
18.04.2017
11:05:52

Маришка
18.04.2017
11:06:15

Проксимов
18.04.2017
11:06:44
Хмм, я что то думал, что по символам

Zart
18.04.2017
11:07:02
нет, там правильно всё

Проксимов
18.04.2017
11:07:33
?

Roman
18.04.2017
11:07:42

Маришка
18.04.2017
11:08:19

Roman
18.04.2017
11:08:30

Маришка
18.04.2017
11:08:37
Если фраза из строки то замени == на in

Roman
18.04.2017
11:09:30
как я понимаю, если условие выполняется, то должен вывести текстовый файл

Zart
18.04.2017
11:09:40
нет о.о

Маришка
18.04.2017
11:10:04

Roman
18.04.2017
11:10:55
а ну вот по другому чуть сделал
вывело эту строку

Alex
18.04.2017
11:11:25
помогите снова, люди добрые
class Test():
num = 0
def __init__(self):
Test.num +=1
@staticmethod
def __len__():
return Test.num
print(len(Test)) - не работает. что-то не так ?

Проксимов
18.04.2017
11:11:25
Ура

Google

Zart
18.04.2017
11:12:31

Roman
18.04.2017
11:12:40
Тогда следующий вопрос. Я могу открыть папку с txt файлами, чтобы каждый открыть, прочитать построчно, если там есть совпадаение, то его переложить в другую папку?

Zart
18.04.2017
11:12:43
print(len(Test()))

Маришка
18.04.2017
11:12:51

Zart
18.04.2017
11:13:20
glob.glob или os.walk, в зависимости от нужности рекурсии
или банальный os.listdir

Проксимов
18.04.2017
11:13:33

Roman
18.04.2017
11:13:42
glob
if line.strip() == 'здесь я могу указать текстовый файл, в котором будут ИНН например'?

Маришка
18.04.2017
11:13:53

Roman
18.04.2017
11:13:55
что почитать на эту тему?

Alex
18.04.2017
11:14:02
print(len(Test()))
Оо... так работает, только каждый раз когда проверяю длину - она увеличивается на 1.

Маришка
18.04.2017
11:14:10

Проксимов
18.04.2017
11:14:11

Zart
18.04.2017
11:14:16

Маришка
18.04.2017
11:14:41

Zart
18.04.2017
11:14:47

Alex
18.04.2017
11:15:11
Понятно. Спасибо

Roman
18.04.2017
11:15:51
import os, sys, fnmatch
mask = '*.py'
pattern = 'import os'
def walk(arg,dir,files):
for file in files:
if fnmatch.fnmatch(file,mask):
name = os.path.join(dir,file)
try:
data = open(name,'rb').read()
if data.find(pattern) != -1:
print name
except:
pass
os.path.walk('.',walk,[])
Попробую на этом примере сделать

Alex
18.04.2017
11:15:55
Тьху.. оно же в принципе не нужно. можно же просто print(Test.num)
Вот так бывает заклинит на чем-то и перестаешь видеть очевидные вещи...

Google

Zart
18.04.2017
11:16:35
os.path.walk обоссать и сжечь
os.walk удобнее примерно всегда

Roman
18.04.2017
11:22:44
ля, в принципе я же могу grepнуть
не, нужен цикл, чтобы не ебаться в ручную

Zart
18.04.2017
11:39:29
def grep(path, needle, blocksize=8192):
"""Returns True when `needle` string is present in file `path`"""
l = len(needle)
haystack = b''
with open(path, 'rb') as fp:
for chunk in iter(lambda:fp.read(blocksize), ''):
haystack = haystack[-l:] + chunk # to check chunk boundaries as well
if needle in haystack:
return True
return False
высокоэффективный греп. должен быть на порядок шустрее ридлайн версий

Григорий
18.04.2017
12:04:57
А в питон иммутейбл переменных не завезли?

Zart
18.04.2017
12:05:26
иммутейбл объекты там с рождения

Григорий
18.04.2017
12:08:27
Как сделать чтобы b всегда ссылалась на один адрес и содержимое по адресу нельзя было изменить?

Zart
18.04.2017
12:09:10
никак
следующий
ну или повнятнее про "b всегда ссылалась на один адрес"

Григорий
18.04.2017
12:09:46
Какой убогий ЯП

Zart
18.04.2017
12:09:55
почему?

Sergey
18.04.2017
12:10:00
Ява лучше, да

Григорий
18.04.2017
12:10:24
Ну вот хочу получать из переменной b всегда одно значение, неважно меняли там что-то или нет.

Zart
18.04.2017
12:10:38
для начала наверное надо понять в питоне переменных нет
покури https://nedbatchelder.com/text/names.html для просветления
проще говоря, в питоне вместо переменных как в других языках (где обычно это указатель на некую область памяти/кусок стека/регистр) - имена - которые всегда референсят объекты

Григорий
18.04.2017
12:14:46
Так я и хочу чтобы b всегда ссылалась на один и тот же объект, неважно присваивали имени b что-то или нет после объявления самого b.

Zart
18.04.2017
12:15:23
не выйдет, потому что имя b может быть назначено чему угодно в любое время. или удалено вручную или автоматически
Эта группа больше не существует