Іван 🤙
Просто открой файл в rb режиме и прочитай
ага, заcунуть его в json + отправить POST`ом multipart/form-data ?
Alex
сразу познаешь что за пределами говноджанги есть жизнь
Honcharov
попробуй опенстек поконтрибьютить :)
описание этого зверька уже доставляет
Іван 🤙
Без json
Спасибо) так, буду читать про multipart/form-data бо я шото не оч представляю как это работает)😂
Alex
Как в асинхронной функции сделать сохранение в фаил ?
Denis
В тредпуле
🍁 Jaŭhien
Можно aiofiles заюзать, но она как раз инкапсулирует сохранение в отдельном потоке
Alex
Вот блять .... в синхроне всё просто как в бейсике, а в аснхроне ну через такие дебри ....
Alex
Используй асинхронный open write)
Файловый IO по определению синхронный, за исключением AIO, который поддерживается в очень ограниченном количестве случаев.
Andrew
?
aiofiles, запись блоками
Andrew
Файловый IO по определению синхронный, за исключением AIO, который поддерживается в очень ограниченном количестве случаев.
В основном надо просто не писать весь файл целиком. Точнее надо смотреть от задачи
Alex
aiofiles, запись блоками
разве что между записью блоками передавать руками управление ивентлупу.
Alex
ну aiofiles уже сказали, враппер над тредпулом
Alex
Как из асинхронных функций передать данные в глобальные переменные ?
Andrew
Как из асинхронных функций передать данные в глобальные переменные ?
Не использовать глобальных переменных например
Alex
Глобальные переменные - очень удобно
Alex
но они не работают :( в асинхронных функциях насколько яя понял
Denis
Наркоман шоле
Alex
Смотря в каких задачах, понятно когда многопользовательская система , то не удобно
Tishka17
Просто не в первый день
Alex
ок, как тогда из асинхронных функций данные получать и запмнать ? return ?
Tishka17
Сначала используешь глобальную переменную, а потом раз - и нужно иногда иметь две копии её. И хуй сделаешь
Tishka17
Зачем запоминать?
Alex
и да глобальные переменные работают с асинхронным кодом если что.
Tishka17
Передаешь в функцию то, куда хочешь запоминать и вот тебе аналог глобальной переменной, но который можно контролировать
Alex
только ты их не хочешь
Alex
Например есть значение, котрое формируется в асинхронной функции, мне надо его запонить и иметь к нему доступ из других любых функций
Alex
С питоном у меня скоро нервы сдадут :(
Tishka17
Без глобальных переменных на корутинах
Alex
на ассемблере :)
Vladimir
на ассемблере :)
это для детей. пиши в машинных командах. Это настоящий программизм
Alex
Просто трудно за неделю изучить то что учать по несколько лет
mks
а как скачать файл, но не переименовывать его, а сохранить с родным именем?
Vladimir
Просто трудно за неделю изучить то что учать по несколько лет
Тебе хороший совет дали. Либо передавай в ф-ю куда писать результат, либо просто передавай аргументом всегда. Не надо изнутри ф-ии иметь доступ
mks
curl -O
юморист
Alex
юморист
а) URL path б) Content-Disposition
mks
https://dpaste.de/7mmZ
Alex
Стараюсь
Alex
https://dpaste.de/7mmZ
смотри имя файла в req.headers['content-disposition']
Alex
Есть толковая книга по Python чтобы с современными модулями и асинхронным программированием ? а не 2+2
Alex
угу только английский выучить осталось, советсткая школа нанесла свой отпечаток
Alex
серьезно, если хочешь этим заниматься без английского тебе будет очень тяжело
Anonymous
Как тут await'нуть Timer(30.0, func).start() func?
Alex
Я уже это понял :(
Anonymous
Что за таймер?
from threading import Timer
Alex
а нахер тебе threading.Timer?
Tishka17
Или нахер его эвейтить
Nikolai
Как тут await'нуть Timer(30.0, func).start() func?
К синхрону нельзя применять асинхрон
Anonymous
Или нахер его эвейтить
func без async никак, и надо, чтобы func раз в 30 сек работала
Anonymous
Alex
К синхрону нельзя применять асинхрон
можно, но это будет работать не так как ты ожидаешь
Nikolai
можно, но это будет работать не так как ты ожидаешь
Ну блин) будет работать так же, как и без, это понимаю
Tishka17
func без async никак, и надо, чтобы func раз в 30 сек работала
А если иногда будет реже, допустим раз в 1000 - норм?
Denis
Если надо запустить в лупе корутину, asyncio.create_task
Tishka17
brew install