2017-04-26 48 views
0

我可以使用一些幫助。我有此腳本:修改腳本以從文件中讀取以嘗試列表中的URL

#!/usr/bin/python 
import time 
import os 
showname="Offsides" 
station="http://myurl.com" 
timestr = time.strftime("%B_%d_%Y-%H%M%p_%A") 
directory = "/mnt/data/data/radio/current/" 
filename = directory + showname +"_" + timestr + ".mp4" 
command= "-q -O " + filename + " " + station +" &" 
os.system("wget " + command) 

#Record for an hour then kill this process based on grep for filename 
time.sleep(3600) 
pid=os.system("ps -ef | grep wget | grep -vi grep | grep " + filename + " | awk '{print $2}'| head -1") 
os.system("kill -9 " + str(pid)) 

這記錄了流媒體廣播站一小時,然後終止進程。我最近注意到,由於電臺不可用(404錯誤),我的一些錄音失敗。該程序可用於多個URL。我想讓這更強大。

我有一個文件(站點.txt),每行有一個URLS列表。我想要做的是修改我的腳本,以便它嘗試列表中的第一個,發送wget命令以檢索它,等待一兩秒鐘,然後檢查文件(上面的變量'filename')是否爲生長。如果文件沒有增長,那麼它會嘗試下一個URL。這應該有助於錯過這些錄音。

我是一個所有這些新手,並會感謝您可能提供任何幫助。

感謝

+0

使用'subprocess'模塊,而不是'os.system',並使用類似'requests'庫,而不是運行外部程序只是爲了獲取一個URL。 – chepner

+0

你現在擁有的shell腳本會更簡單。 – chepner

回答