python通过写bat调用N_m3u8DL-CLI出错
import osfrom time import sleep
def call_N_m3u8(m3u8url,videoname = '',key = '',path = './Downlodas'):
videoname = videoname.replace('/','.').replace('\\','.').replace(':','.').replace('*','.').replace('?','.').replace('<','.').replace('>','.').replace('|','.')
if videoname == '':
videoname = m3u8url.split('/')[-1]
with open('temp.bat','w',encoding='utf-8') as f:
f.write('@echo off\n::Created by N_m3u8DL-CLI-SimpleG\nchcp 65001 >nul\n')
f.write(f'TITLE {videoname}\n')
f.write(f'N_m3u8DL-CLI_v2.9.3.exe "{m3u8url}" --workDir "{path}" --saveName "{videoname}" --useKeyBase64 "{key}" --enableDelAfterDone\n')
f.write('cmd')
# name = datetime.now().strftime('%Y-%m-%d %H.%M.%S')
cmd = 'start temp.bat'
os.system(cmd)
while os.path.exists(f'{path}/{videoname}.mp4') == False:
sleep(0.5)
print(videoname, '下载完成!')
通过@细水流长 提供的代码,能够成功下载,但是下载之后执行不了“--enableDelAfterDone”,导致很多下载ts文件夹需要手动删除,并且cmd窗口需要手动关闭。
求解决方法 窗口不关闭是因为你最后一行加了cmd 这一行没用 平淡最真 发表于 2021-9-19 23:33
窗口不关闭是因为你最后一行加了cmd 这一行没用
--enableDelAfterDone 这个参数不执行,是怎么回事呢? 孙忠山 发表于 2021-9-20 12:18
--enableDelAfterDone 这个参数不执行,是怎么回事呢?
复现不了,你至少把log发出来吧
或者这边去问作者 https://github.com/nilaoda/N_m3u8DL-CLI/issues
或者@我是你老大 平淡最真 发表于 2021-9-20 12:51
复现不了,你至少把log发出来吧
或者这边去问作者 https://github.com/nilaoda/N_m3u8DL-CLI/issues ...
PEP 8: E501 line too long (149 > 120 characters) 手动打开生成的bat文件没有问题,python调用bat打开N_m3u8DL-CLI,能够正常下载,但是--enableDelAfterDone参数执行不了,log文件中这个参数也没有写到里面,返回到CMD窗口中就是上面的错误,不是内部指令。@细水流长 @我是你老大
页:
[1]