
Undefined
23.08.2018
13:20:47

Aragaer
23.08.2018
13:21:03
я собссно чо тут ржу - у меня сокеты и пробрасывание байтов, всякие энкоды и декоды это ну вот просто вот все время
bytes() для энкода мне не нравится, потому что надо явно кодировку указывать

Undefined
23.08.2018
13:21:38
а я ору с того, что он думает, что repr переводит байты в строку как должен

Google

Валерий Н.
23.08.2018
13:21:39

Aragaer
23.08.2018
13:21:45
а "превед".encode() норм

Danil
23.08.2018
13:21:55
мне не надо байты в строку перевести

Aragaer
23.08.2018
13:22:00
что ты хочешь сделать с stdin?

Undefined
23.08.2018
13:22:01

Aragaer
23.08.2018
13:22:30

Undefined
23.08.2018
13:22:30

Валерий Н.
23.08.2018
13:22:56

Aragaer
23.08.2018
13:22:57
sys.stdin это просто обычный file object, там ничего сложного нет

Undefined
23.08.2018
13:23:12
вообще, не помню случаев использования стдина
везде либо файл сами открываем, либо инпут

Aragaer
23.08.2018
13:23:41
я не умею пользоваться инпутом, мне проще из стдина читать.

Валерий Н.
23.08.2018
13:23:44

Google

Aragaer
23.08.2018
13:23:51
а особенно если я хочу неблокиремую работу
или если через селект например

Юрий
23.08.2018
13:24:05
Ааа
наверное проблема в том что мне нужно давать path к файлу которій я хочу закинуть на фтп... ну мб.

Undefined
23.08.2018
13:24:10

Aragaer
23.08.2018
13:24:49
о, там даже prompt можно указывать. А я сам делаю print(prompt, end='', flush=True)

Undefined
23.08.2018
13:25:02

Aragaer
23.08.2018
13:25:04
я ж говорю, не умею я во все эти "чтоб для пользователя"

Undefined
23.08.2018
13:25:40
слушай, я вообще в одно время getch использовал для юзерввода, это пиздец, иначе не скажу

Aragaer
23.08.2018
13:25:55
print("> ", end='', flush=True)
s = sys.stdin.readline()
то есть это просто s = input("> ") получается

Undefined
23.08.2018
13:26:27
да

Aragaer
23.08.2018
13:26:45
окай... буду знать

Undefined
23.08.2018
13:27:16
python2
s = raw_input('> ')
хотя хз, кто юзит второй питон

Aragaer
23.08.2018
13:27:37
а оно еще небось и ньюлайн уберет в конце, да?

Undefined
23.08.2018
13:27:44
да
.

Aragaer
23.08.2018
13:28:01
.... ну вообще замечательно

Undefined
23.08.2018
13:28:30
хэх
а вот иногда все же приходится использовать даже не sys.stdin, а stdin = open('/dev/stdin', 'rb'), но это онли-*nix и когда надо именно байты считать

Google

Adam
23.08.2018
13:29:57

Undefined
23.08.2018
13:30:52
qq

Юрий
23.08.2018
13:31:21

Adam
23.08.2018
13:31:44

Юрий
23.08.2018
13:32:22

Adam
23.08.2018
13:33:16

Никита
23.08.2018
13:38:33
Всем привет! может быть кто нибудь сталкивался с такой ошибкой celery+redis:
[WARNING/MainProcess] Received and deleted unknown message. Wrong destination ?

Andrey
23.08.2018
13:42:33
А что передаешь в качестве параметра в воркер ?

Michael
23.08.2018
13:45:56
Чем можно в python2 найти полный путь к какому-нибудь бинарнику из $PATH? Например, понять, что ls находится в /bin. Кроме вызова 'which ls' это можно как-то сделать?

Никита
23.08.2018
13:48:49

Undefined
23.08.2018
13:49:59
>>> import os
>>> path = os.environ.get('PATH').split(':')
>>> where = None
>>> for p in path:
... l = os.listdir(p)
... if 'ls' in l:
... where=p
... break
...
>>> where
'/bin'
пашет

Michael
23.08.2018
13:51:27

Undefined
23.08.2018
13:51:44

Oleg
23.08.2018
13:52:36
Всем привет )
Есть у кого опыт работы с кодогенераторами? Хочу сгенерить api контакта с их json схемы.
Нагуглил библиотеку python-jsonschema-objects, но чот не могу с ней разобраться, не понимаю в каком формате ей в 'examples' подставлять все 4 json
Может есть какой-то бест практис? Или библиотека с более подробной документацией? Кто чем пользовался?

Michael
23.08.2018
13:53:56
а зачем собссна путь к бинарнику ls?
Это упрощенно. На самом деле нужно узнать полный путь к кастомному бинарнику, который точно есть в $PATH. Т.е. какой-нибудь аналог шеловского which.

Adam
23.08.2018
13:55:36
import os
paths = os.environ.get('PATH').split(':')
for p in paths:
if 'ls' in os.listdir(p):
break

Undefined
23.08.2018
13:55:51
[p for p in os.environ.get('PATH').split(':') if name in os.listdir(p)][0]
:D
>>> name = 'ls'
>>> [p for p in os.environ.get('PATH').split(':') if name in os.listdir(p)][0]
'/bin'

Aragaer
23.08.2018
13:56:09
я б вместо listdir заюзал glob

Google

Adam
23.08.2018
13:56:31

Undefined
23.08.2018
13:56:55

Aragaer
23.08.2018
13:57:04
>>> from glob import glob
>>> glob('/bin/ls')
['/bin/ls']
>>> glob('/sbin/ls')
[]

Adam
23.08.2018
13:57:07

Michael
23.08.2018
13:57:18
а зачем собссна путь к бинарнику ls?
Он может находится в разных местах и бинарников может быть несколько с одним именем. Т.е. надо понять, что тот, который первый в $PATH попадается - тот, что нужен. Или не тот :)

Undefined
23.08.2018
13:57:31
ясно

Adam
23.08.2018
13:58:00

Michael
23.08.2018
13:59:00

Aragaer
23.08.2018
13:59:08
>>> def which(binary):
... for p in os.environ['PATH'].split(':'):
... result = glob(os.path.join(p, binary))
... if result:
... return result[0]
...
>>> which('ls')
'/bin/ls'
>>> which('hledger')
'/home/aragaer/.local/bin/hledger'
настоящий which идет по порядку

Michael
23.08.2018
13:59:25

?
23.08.2018
14:00:12
Как я могу установить соединение по websocket использую socks5

Aragaer
23.08.2018
14:00:43
ну вот я цельную реализацию написал

Undefined
23.08.2018
14:00:44

Aragaer
23.08.2018
14:00:49
а вообще... это ж питон

Denis
23.08.2018
14:01:08
Сокс все поддерживает

?
23.08.2018
14:01:29
Ну вот задача скрыть ip, я использую websocket в проекте, в инете не нашел, как сделать

Undefined
23.08.2018
14:02:03
как вообще юзить вебсокеты в питоне?
без прокси

Google

Denis
23.08.2018
14:02:17
Библиотеки есть

?
23.08.2018
14:02:25
нужно с прокси
websocket-client либа

Андрей
23.08.2018
14:02:33

Undefined
23.08.2018
14:02:50
принтскрин юзить научись, прошу

Adam
23.08.2018
14:02:56
на калькулятор снимал?

Aragaer
23.08.2018
14:03:01
>>> import shutil
>>> shutil.which('ls')
'/bin/ls'

Андрей
23.08.2018
14:03:03
....

Aragaer
23.08.2018
14:03:06
йех, не догадался 8)

Андрей
23.08.2018
14:03:12
Так понятнее?
:)

Nikolay
23.08.2018
14:03:34
горизонт завален

Denis
23.08.2018
14:03:46
type(str())

Undefined
23.08.2018
14:03:50
PrintScreen
Ctrl+V

Диер
23.08.2018
14:04:27

Adam
23.08.2018
14:04:32
ножницы на винде

Oleg
23.08.2018
14:04:33