Есть URL текстового файла, нужно скачать и построчно прочитать. На bash'е я бы для этого использовал wget, получилось бы что-то такое
wget -q -O - ftp://example.com/dir/file.txt | whle read line
do
echo $line
done
А как аналогичную штуку проделать в python'е? В интернетах какие-то сложные примеры попадаются вроде этого:
import ftplib
path = 'pub/Health_Statistics/NCHS/nhanes/2001-2002/'
filename = 'L28POC_B.xpt'
ftp = ftplib.FTP("Server IP")
ftp.login("UserName", "Password")
ftp.cwd(path) # Это что мне ещё придётся самому URL разбивать на адрес сервера, директорию в которую надо перейти...
ftp.retrbinary("RETR " + filename ,open(filename, 'wb').write)
ftp.quit()
Файл качается, сохраняется локально, после этого его ещё придётся открывать, а потом удалять. Ну нафиг, слишком сложно, длинно и неизящно.
Меня вполне устроил бы вызов wget'а и обработка его выхлопа, но это в python'е тоже сделано как-то через жопу накосяк. В одних местах предлагают такое:
process = subprocess.Popen(cmd, shell=True,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
Так как же в python'е коротко и красиво скачать файл по URL'у и обработать построчно?