如何格式化pytube函数返回的控制台输出,在每个'<'后插入换行
pytube音频流格式化输出解决方案
报错原因
你的for循环语法错误是因为Python的for语句末尾必须加英文冒号:,你漏写了这个符号所以触发语法报错。
实现方案
方案1:遍历音频流逐个打印(推荐)
这种方式逻辑清晰,后续如果需要提取单个流的参数也更方便,正确代码如下:
from pytube import YouTube video = YouTube('https://www.youtube.com/watch?v=d6uN9xYUMxE') audio_streams = video.streams.filter(only_audio=True) # 修正for循环语法,末尾加冒号 for stream in audio_streams: print(stream)
输出效果为每个Stream信息单独占一行,完全符合可读性要求。
方案2:字符串替换实现格式化
如果你不想遍历,也可以直接对输出的字符串做替换处理,在每个流的分隔位置插入换行:
from pytube import YouTube video = YouTube('https://www.youtube.com/watch?v=d6uN9xYUMxE') raw_output = str(video.streams.filter(only_audio=True)) formatted_output = raw_output.replace(', <', '\n<') print(formatted_output)
内容的提问来源于stack exchange,提问作者user17007422
相关产品推荐
相关产品推荐

