私はPythonの初心者です。私はWebラジオを取得し、ストリームをファイル内に保存しようとします。私はしばらくしてから内容をフラッシュしたい(例としてストリームの1時間しか保持しない)。だから私はすべてのストリームを1つのファイルに書き込むのではなく、ストリームを多くのファイルに保存しようとします(output_1.binは1分間、output_2.binは次のストリーム...)for文を終了し、ストリームを新しいファイルにPythonで書き込みます。
私はできません"for"から正しく終了する。 exit()はこの目的のために作られていませんか?
def download_file(url):
r = requests.get(url, stream=True)
i = 1
while True:
local_filename = "output_"+str(i)+".bin"
with open(local_filename, 'wb') as f:
for chunk in r.iter_content(chunk_size=1024):
if chunk: # filter out keep-alive new chunks
f.write(chunk)
i = i+1
print("iteration",i,"and modulo result :",i % 10,"\n")
if i % 10 == 0:
exit()
f.close()
print("Am I out of the for ?")
return local_filename
download_file('http://direct.franceinfo.fr/live/franceinfo-lofi.mp3')
'exit()'はプロセスを終了します。あなたはたぶん '休憩 'したいです。 – cdarke
私はあなたがbreakコマンドを探しているかもしれないと思うexit() – Whud
ちなみに、スクリプトではexit()を使わないでください(対話的な使い方のためだけです)。代わりに 'sys.exit()'を使います。 – cdarke