使用YoutubeDL下载文件时如何修改文件的创建日期与修改日期?
youtube-dl 下载MP3文件修改时间异常的解决方法
你遇到的问题是youtube-dl默认会将下载文件的修改时间同步为YouTube原视频的上传时间,该需求既可以通过修改配置直接实现,也可以在文件下载完成后手动操作,两种方案如下:
方案1:修改youtube-dl内置参数(推荐)
youtube-dl提供了updatetime配置项,默认值为True,作用就是将下载文件的修改时间设置为原视频的发布时间,只需将该参数设置为False,文件的修改时间就会自动使用当前下载转换的时间,完全匹配你的需求。
修改后的代码示例:
url = input("Enter the youtube link you want to download: ") ydl_opts = { 'format': 'bestaudio/best', 'outtmpl': f'{downloads_path}/%(title)s.%(ext)s', 'postprocessors': [{ 'key': 'FFmpegExtractAudio', 'preferredcodec': 'mp3', 'preferredquality': '192', }], 'noplaylist': True, # 新增参数:禁用同步原视频发布时间,使用当前下载时间作为文件修改时间 'updatetime': False } with youtube_dl.YoutubeDL(ydl_opts) as ydl: ydl.download([url]) print("Download is complete!")
方案2:下载完成后手动修改时间
如果你需要更灵活的自定义时间逻辑,可以在文件下载完成后通过Python的os模块手动修改文件时间戳,示例代码如下:
import os import time # file_path替换为你下载得到的MP3文件的完整路径 current_timestamp = time.time() # 同时修改文件的访问时间和修改时间为当前时间 os.utime(file_path, (current_timestamp, current_timestamp))
内容的提问来源于stack exchange,提问作者MyPing0
相关产品推荐
相关产品推荐

