【发布时间】:2022-11-09 01:32:23
【问题描述】:
所以我对程序逻辑的关注。 我有一个音乐文件夹,其中包含许多名称中带有下划线的 mp3 文件 (MC_-_Best_track.mp3)。所以我想扫描这个文件夹并用空格替换所有下划线。
我想先自己写,但我需要一个启动器)你能帮我讲逻辑吗?
更新:
仍在与子文件夹斗争。
{ 导入操作系统 路径 = r'C:\Users\mugger\Desktop\Music for Python"
对于 os.walk(path) 中的文件夹、子文件夹、文件: 对于文件夹中的子文件夹: 对于文件中的文件: 如果 file.endswith(".mp3"): os.rename(os.path.join(路径,文件), os.path.join(path, file.replace("_","))) }
如果我直接设置路径,我只会重命名一个文件并出现错误:
FileNotFoundError Traceback(最近一次调用最后一次) c:\Users\mugger\Desktop\programming\Udemy\0149。 <cell line: 6>() 中可能的 Widgets.ipynb 单元格 2 列表 8 对于文件中的文件: 9 如果 file.endswith(".mp3"): ---> 10 os.rename(os.path.join(path, file), os.path.join(path, file.replace("_","")))
FileNotFoundError: [WinError 2] 系统找不到指定的文件:'C:\Users\mugger\Desktop\Music fo Python\old\Queen - Under_Pressure.mp3' -> 'C:\Users\mugger\Desktop\Music fo Python\old\Queen - 压力之下.mp3'
【问题讨论】:
-
glob/os.listdir 并按格式过滤。对复杂模式使用正则表达式,或者只是srt.replace("_", " ") -
请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。
标签: python directory rename subdirectory