Импорт Time Импорта подпроцесса Импорт argparse DEF Command (ЦМД, тайм - аут = 60 ): '' ' содержание команды выполнения CMD, возвращает вывод команды :: пары CMD. : param timeout: максимальное время ожидания, единица измерения: секунда : возврат: '' ' p = subprocess.Popen (cmd, stderr = subprocess.STDOUT, stdout = subprocess.PIPE, shell = True) t_beginning = time.time () while True: если p.poll () не равно None: break seconds_passed = time.time () -t_beginning if timeoutи seconds_passed> timeout: p.terminate () time.sleep ( 0.1 ) return p.stdout.read (). decode ( ' utf-8 ' ) def run (): '' ' : param cmd :: param timeout: 默认20 return : return: 结束 you-get: Пропуск / Пользователи / yy / Фильмы / 斗 罗 大陆 _06.mp4: файл уже существует '' ' params = argparse.ArgumentParser () params.add_argument ( ' -u ' , ' - -url ' ) params.add_argument ( ' -o ',' --output ' , по умолчанию = ' / Users / yy / Movies / ' ) params.add_argument ( ' -t ' , ' --timeout ' , default = 20, type = int) args = params.parse_args () cmd = ' you-get {0} -o {1} ' .format (args.url, args.output) timeout = args.timeout, если args.url равен None: print ( ' 请 输入 下载 地址' ) else : whileTrue: результат = команда (cmd, timeout) print (результат) res = result.find ( ' существует ' ), если res == -1 : печать ( ' 继续 下载' ) else : перерыв, если __name__ == " __main__ " : выполнить ()
Чтобы использовать python3.7, вам нужно установить you-get
pip3 установить вы получите
Решите проблему прерывания загрузки Tencent, этот метод может загрузить полное видео