Mant1
Может логичней форматировать все только в год?
Denis
Denis
выставь в что-нить типа один мегабайт
Let’s
у open есть 3-й аргумент - размер буфера
вроде чуть-чуть более ровные значения показывает, но не чувстуется разница между одним диском и RAID-0 на nvme ssd. Как проверить что к файлу был применен striping?
Denis
возможно ее особо и нет, так как дисковый кеш сильно помогает на таком маленьком размере
Denis
обычно разница в методе доступа заметна на чтении из случайных мест из большого файла. а так ты и так на макс скорости считай делаешь
denis ⛅️
я же правильно понимаю, что mmap тупо предоставляет процессу доступ к выделенному участку физ памяти?
Tishka17
не
Tishka17
он мапит файл в память
denis ⛅️
Tishka17
значит что ты общаешся с файлом как с куском памяти, а ОС сама там читает блоками
Проксимов
https://www.jetbrains.com/lp/devecosystem-2019/python/
Проксимов
Тут результаты опросника от джетов подъехали
Timur
Всем привет.
Вопрос к пользователям фласка: можно ли как-то получить текущий host?
Ivan
Tishka17
Tishka17
не благодари
denis ⛅️
Tishka17
для продвинутых ::1
r
ребят, а где ваша уберконфа на 300 что ли человек?
r
раньше ссылки были, а теперь нету
Tishka17
RO сутки
Dima
Суток мало
Tishka17
я добрый
Dima
👌
Tishka17
кажется, я случайно забанил =D
Tishka17
в общем, я добрый, но телеграмом пользуюсь плохо
Oleksandr
#selenium #xpath #try
Вопрос: Есть элемент на веб-странице , находимый (или не находимый по х-пазу).
У елемента может быть (или не быть) атрибут
'data-visible' - соответсвенно он может быть 'true' или 'false'
пытаюсь определить видимость объекта - если он есть, берем атрибут 'data-visible' , если атрибута нет - считаем его видимым.
Почему вот такой код возвращает False, когда атрибут 'data-visible' отсутсвует:
if i != '' and visible != vcheck:
vi = 'false'
xpath = f'//*[@id="{i}"]'
#print (xpath)
element = time_xp(context, xpath)
#если элемент есть:
if element is not None:
vi = 'true'
try:
vi = element.get_attribute('data-visible')
except:
vi = 'true'
if vi == 'true':
visible = True
else:
visible = False
Maxym
Здравствуйте, помогите с авторизацией в Гугл. Можно ли авторизоваться через Python имея логин и пароль от почты?
Alexander
Есть ли смысл параллелить скачивание большого кол-ва гигабайтных видео с Ютуба? Кажется, что прироста в скорости не должно быть
koder
koder
По крайней мере если очень сильно не покрутить размеры буферов и параметры тсп стека
Alexander
Ruslan
ЧЯДНТ (именно одновременное пополнение и получение не удается совместить)
def p(q, pushed, t):
for i in range(20):
sleep(.2)
print(t, i)
q.put(i)
print('Event: pushed')
pushed.set()
def g(q, pushed, t):
while not pushed.isSet() or not q.empty():
sleep(.5)
print(t, q.get())
if __name__ == '__main__':
# mp.set_start_method('spawn')
pushed = Event()
q = mp.Queue()
p0 = mp.Process(target=p, args=(q, pushed, 'P_Pusher'))
p1 = mp.Process(target=g, args=(q, pushed, 'P_Puller1'))
p2 = mp.Process(target=g, args=(q, pushed, 'P_Puller2'))
...start...join...
koder
откуда event импортируется?
koder
@ruslan001 ^
Tishka17
ЧЯДНТ (именно одновременное пополнение и получение не удается совместить)
def p(q, pushed, t):
for i in range(20):
sleep(.2)
print(t, i)
q.put(i)
print('Event: pushed')
pushed.set()
def g(q, pushed, t):
while not pushed.isSet() or not q.empty():
sleep(.5)
print(t, q.get())
if __name__ == '__main__':
# mp.set_start_method('spawn')
pushed = Event()
q = mp.Queue()
p0 = mp.Process(target=p, args=(q, pushed, 'P_Pusher'))
p1 = mp.Process(target=g, args=(q, pushed, 'P_Puller1'))
p2 = mp.Process(target=g, args=(q, pushed, 'P_Puller2'))
...start...join...
Я знаю что не так! Имена переменных - непонятное УГ
koder
если о коде, то лучше, наверное, ложить в очередь массив событий, а не по одному - тогда не будет мороки с евентом
Ruslan
Ruslan
koder
threading
вот и ответ. а у тебя процессы, у каждого будет свои независимый event
koder
https://docs.python.org/3/library/multiprocessing.html#multiprocessing.Event
Ruslan
koder
если ты накидываешь элементы в очередь и пытаешься их читать оттуда только по евенту, то куда проще будет накидывать их в массаив и ложить массив в очередт
koder
а с другой стороны тупо делать q.get()
koder
и выкинуть евент нафиг
Ruslan
Tishka17
Ruslan
евент на то что пополнения больше не будет
koder
Tishka17
А. Евент только в главном процессе используется
Tishka17
Ruslan
Ruslan
koder
А нах там проверка на q.empty()?
взведенный эвент говорит что больше не будет новых данных, а это проверка на то что ничего не осталось в очереди
с рейсом, конечно :D
koder
тот факт что очередь не пустая не означает что ты из нее что-то прочитаешь
koder
Ruslan
разве что лепить локальную переменную
всеравно не нравится
koder
текущий код может повиснуть в дедлоке на g.get()
Tishka17
Ruslan
Tishka17
koder
Tishka17
Tishka17
Только "клади"
Ruslan
Ну и пусть
и процесс завершится т.к. не обнаружит маркер
koder
он зависнет в get
Ruslan
Kamil
если внутри запущенного (.start()) потока упало исключение, оно может проброситься в основной поток?