我正在尝试创建一个进度条,显示我的CMD上的子进程的状态,代码是这样的:

for link , name in zip(listLink, listNames):
    folder = "C:\\Users\\%USERNAME%\\Desktop\\"+name+".ts"
    downloadprocess = subprocess.Popen( [ 'ffmpeg', '-i', link, '-c', 'copy', folder],stdout= subprocess.PIPE,stderr= subprocess.PIPE )
    downloadprocess.wait()
    print("\nDownload done: "+name+".\n")

该程序实际上使用 ffmpeg 从m3u8流下载视频, wait() 我只是等到下载完成(换句话说:过程完成)继续下一个 for 迭代(下载) . 现在问题的关键是,如何在Tkinter和控制台中实现进度条 . 我知道如果您使用 downloadprocess.poll() ,如果进程正在进行,您将收到 None ,因此我想在每个视频下载时显示进度条 .

如果您知道如何使用Tkinter,欢迎使用,如果您知道如何在控制台中制作它,那将是受欢迎的 . 我将在控制台上使程序完整,以便制作完整的GUI . 但现在的重点是要了解如何制定进度条 .

非常感谢您花时间阅读 . 欢迎任何想法!