【问题标题】:mp3 file name replacemp3文件名替换
【发布时间】: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


【解决方案1】:

我认为这可能有效

import os 

path = "your folder path"


data = os.listdir(path)


for  file in data:
    if file.endswith(".mp3"):
        os.rename(os.path.join(path, file), os.path.join(path, file.replace("_"," ")))
        

【讨论】:

  • 我认为在这段代码中,我们只想重命名文件夹中的文件,而不是更改路径或重命名它,如果我错过了什么请告诉我,我编辑我的答案
  • 你对,请检查我编辑的答案
  • 你说得对,非常感谢你的建议和信息我也是堆栈溢出的新手,为什么当我的答案正确时什么都没有发生?人们必须投票吗?
  • 做这个大写字母是因为我的手机键盘
  • 是的,不需要改变路径。只需替换文件名中的下划线即可。您的代码正在运行,现在我正在尝试根据需要对其进行更新,谢谢)
猜你喜欢
  • 1970-01-01
  • 2018-08-30
  • 2013-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-08
相关资源
最近更新 更多