Python开发:如何将下载的.mp3文件保存到安卓设备的Download文件夹
Android 系统下指定 youtube_dl 下载的MP3文件到Download文件夹的方法
前置要求
你使用的Python运行环境(如Termux、Pydroid 3等)需要先获取安卓系统的存储权限,安卓11及以上系统需要授予「所有文件访问权限」,否则无法写入公共存储目录。如果你使用的是Termux,还需要先执行termux-setup-storage命令完成存储挂载。
实现方案
你只需要修改outtmpl参数对应的文件路径,将安卓公共Download文件夹的绝对路径拼接到文件名前即可,安卓公共Download目录的标准固定路径为/storage/emulated/0/Download/。
另外建议对视频标题做特殊字符处理,避免标题中的路径敏感字符(如斜杠、反斜杠等)导致文件写入失败。
修改后的完整代码
import youtube_dl def run(): video_url = input("please enter youtube video url:") video_info = youtube_dl.YoutubeDL().extract_info( url = video_url,download=False ) # 定义安卓公共Download目录路径 download_dir = '/storage/emulated/0/Download/' # 替换标题中的特殊字符避免路径错误 safe_title = video_info['title'].replace('/','_').replace('\\','_').replace(':','_') filename = f"{download_dir}{safe_title}.mp3" options={ 'format': 'bestaudio/best', 'keepvideo': False, 'outtmpl': filename, } with youtube_dl.YoutubeDL(options) as ydl: ydl.download([video_info['webpage_url']]) print("Download complete... {}".format(filename)) if __name__=='__main__': run()
补充说明
如果运行过程中出现youtube_dl兼容性问题,可以替换为维护更活跃的分支版本yt-dlp,安装后只需要把代码中所有的youtube_dl替换为yt_dlp即可,其余语法完全兼容。
内容的提问来源于stack exchange,提问作者ruslol228
相关产品推荐
相关产品推荐

