我写了这段代码来下载一个srt字幕文件,但这不起作用。请检查此问题并帮助我解释代码。我需要找到我正在做的错误。感谢。
from urllib import request
srt_url = "https://subscene.com/subtitle/download?mac=LkM2jew_9BdbDSxdwrqLkJl7hDpIL_HnD-s4XbfdB9eqPHsbv3iDkjFTSuKH0Ee14R-e2TL8NQukWl82yNuykti8b_36IoaAuUgkWzk0WuQ3OyFyx04g_vHI_rjnb2290"
def download_srt_file(srt_url):
response = request.urlopen(srt_url)
srt = response.read()
srt_str = str(srt)
lines = srt_str.split('\\n')
dest_url = r'srtfile.srt'
fx = open('dest_url' , 'w')
for line in lines:
fx.write(line)
fx.close()
download_srt_file(srt_url)
答案 0 :(得分:1)
有很多问题或可以改进。
return
声明。dest_url
不是字符串,它是一个变量,因此fx = open('dest_url', 'w')
将返回错误(没有此类文件)with
语句。split('//n')
也错了。你正在逃避这样的斜线。您想要分割线条,使其必须为split('\n')
srt
转换为字符串。它已经是。以下是经过修改且希望运行的代码版本,上面已实现。
from urllib import request
def download_srt_file(srt_url):
response = request.urlopen(srt_url)
srt = response.read()
lines = srt.split('\n')
dest_url = 'srtfile.srt'
with open(dest_url, 'w') as fx:
for line in lines:
fx.write(line)
return
srt_url = "https://subscene.com/subtitle/download?mac=LkM2jew_9BdbDSxdwrqLkJl7hDpIL_HnD-s4XbfdB9eqPHsbv3iDkjFTSuKH0Ee14R-e2TL8NQukWl82yNuykti8b_36IoaAuUgkWzk0WuQ3OyFyx04g_vHI_rjnb2290"
download_srt_file(srt_url)
告诉我它是否适合你。
最后一点是,您没有为正在编写的文件设置目标目录。你确定要这么做吗?