У меня есть цикл из python, который записывает прокси-файлы в файл, по одному в каждой строке. Этот файл позже используется из сценария bash через curl -x $PROXY
, строка за строкой, используя cat proxies.txt
.Напишите одну строку из одного процесса и потребляйте одну строку от другого
Можно ли улучшить этот подход, одновременно запустив два сценария и используя именованный канал, который может быть использован cat
, только когда python записывает новую строку/новый прокси?
На мой взгляд, я бы написать что-то вроде
f = open('/tmp/proxies', 'w') # but this call is blocking!
for proxy in ...:
f.write(proxy)
и
for PROXY in $(cat /tmp/proxies); do curl -x $PROXY example.com; done
Почему бы не начать этот вызов curl внутри скрипта python? Или используя API-интерфейс curl python. – languitar
@languitar подход, который вы предлагаете оставить мой код последовательным, в то время как я хотел бы начать два процесса одновременно – giuscri
FIFO не обеспечивает постоянство. Запись в блок FIFO, если нет читателя. Перед тем, как начать писать, запустите своего читателя из своей программы Python, но убедитесь, что вы запускаете его как отдельный процесс, и не ждите его завершения, прежде чем начинать писать. – Fred