Size: a a a

2021 March 18

ZZ

Zhimin Zou in SPb Python
nohow
источник

A

Alexander in SPb Python
Ilya Ilyinykh
Вообще там aiofiles так и работает под капотом, вроде, когда я смотрел.
Там не настоящая асинхронная работа с файлами. Там используется run_in_executor, да, но там для нег опередается None как параметр, дефолт берется самим `concurrent.futures.ThreadPoolExecutor`. В доке у тебя там инфа по тому сколько потоков в нем.

Я как-то искал где по-честному работа с файлома асинхронная, но не нашел, поэтому это наверное лучший способ без костыле. Если кто подскажет как честно работать асинхронно с файлами (AIO) — будет круто. Вроде есть Linux AIO, но я не нашёлся чтобы его пользовали прям где-то.
Гошка асинхронно с файловой системой работает вроде
источник

M

Matrix Telegram Brid... in SPb Python
Denis Matiychuk: Общался на эту тему с Андреем Светловым (кор питона, автор aiohttp). Если вкратце то нельзя сделать асинхронной работу с фс. От языка не зависит.
Под асинхронной я имею ввиду не потоки/процессы.
источник

II

Ilya Ilyinykh in SPb Python
Alexander
Гошка асинхронно с файловой системой работает вроде
Неа, я там ковырял как-то.
У них там уже поменялся код немного.

Есть там у них такой pollable
Я так понимаю, что это OS специфичная тема

На разных ОС открытие файла (что я скинул может быть и блок и неблок)

Чтение/запись в файл вроде всегда блок (устал уже искать, поздно)
источник

M

Matrix Telegram Brid... in SPb Python
Denis Matiychuk: Да. Чтение и запись как раз и интересно. И эти операции блокирующие.
источник

SK

Sergio Keler in SPb Python
David Shiko
Спасибо, упустил этот момент, что не только запись на диск, но и создание директории занимает время.
Если некто залочит папку, то прога заснёт в ожидании.
источник

SK

Sergio Keler in SPb Python
Matrix Telegram Bridge
Denis Matiychuk: Общался на эту тему с Андреем Светловым (кор питона, автор aiohttp). Если вкратце то нельзя сделать асинхронной работу с фс. От языка не зависит.
Под асинхронной я имею ввиду не потоки/процессы.
Отвратительная ось линух — вообще сплошные блокировки. Неповторновходимое ядро итп. Фуфу. И фс ехт4 тоже туда же.
Охохо.
Но... гигагерцы с гигабайтами решают.
источник

DS

David Shiko in SPb Python
Sergio Keler
Если некто залочит папку, то прога заснёт в ожидании.
Вывод: ставь тайм-ауты не только для сети)
По логике ОС должна в таком случае сообщить об ошибке, возможно, просто диск долго обрабатывает запрос
источник

SK

Sergio Keler in SPb Python
David Shiko
Вывод: ставь тайм-ауты не только для сети)
По логике ОС должна в таком случае сообщить об ошибке, возможно, просто диск долго обрабатывает запрос
Именно!
источник

vP

venkat P in SPb Python
i can't know that
источник

p

pragus in SPb Python
Matrix Telegram Bridge
Denis Matiychuk: Общался на эту тему с Андреем Светловым (кор питона, автор aiohttp). Если вкратце то нельзя сделать асинхронной работу с фс. От языка не зависит.
Под асинхронной я имею ввиду не потоки/процессы.
@Im_Ilya и aiofiles, и go используют пул тредов для операций с объектами vfs.
источник

p

pragus in SPb Python
Sergio Keler
Отвратительная ось линух — вообще сплошные блокировки. Неповторновходимое ядро итп. Фуфу. И фс ехт4 тоже туда же.
Охохо.
Но... гигагерцы с гигабайтами решают.
Всё ок с ним
источник

МС

Мак Сим in SPb Python
Как думаете, что к питону перспективней C, Java, Go?
источник

SK

Sergio Keler in SPb Python
pragus
Всё ок с ним
Я же шучу. Но доля есть нешутки.
источник

DA

Dmitry Alimov in SPb Python
Мак Сим
Как думаете, что к питону перспективней C, Java, Go?
Перспективней в каком плане?
источник

DA

Dmitry Alimov in SPb Python
Часто стал видеть в вакансиях на Python что-то типа "желание писать на Go". Видимо часто какой-то из сервисов на Go пишут или переписывают то, что на Python было.
А Java как-то сама по себе. Мало видел чтобы Python + Java использовали.
А C для того чтобы для Python экстеншны писать)
источник

АД

Алексей Дзержинский... in SPb Python
Dmitry Alimov
Часто стал видеть в вакансиях на Python что-то типа "желание писать на Go". Видимо часто какой-то из сервисов на Go пишут или переписывают то, что на Python было.
А Java как-то сама по себе. Мало видел чтобы Python + Java использовали.
А C для того чтобы для Python экстеншны писать)
На go тоже можно экстеншены писать и ещё я много хорошего видел про rust
источник

ED

El Dis in SPb Python
all_list = ["1", '2', '3"]

requests.post(url=url,
                   headers= {"Content-Type": "application/json"},
                   data= '{"p": [22], "operation": "add", "ips": ["10", "20"]}'

люди добрые, нужно отправить запрос, но не могу передать all_list вместо ["10", "20"]
источник

DA

Dmitry Alimov in SPb Python
El Dis
all_list = ["1", '2', '3"]

requests.post(url=url,
                   headers= {"Content-Type": "application/json"},
                   data= '{"p": [22], "operation": "add", "ips": ["10", "20"]}'

люди добрые, нужно отправить запрос, но не могу передать all_list вместо ["10", "20"]
Попробуй вместо data= использовать json=, при этом метод сам за тебя сериализует в json
источник

DA

Dmitry Alimov in SPb Python
То есть в json= нужно просто dict передать
источник