写一个python程序1: 某人在一个文件中存放了很多MP3文件,里面还划分有多层文件夹; 这些歌曲的命名方式目前是: 歌手-歌名.mp3 ; 编写程序,把全部MP3文件改名为: 歌名 - 歌手.mp3 。 编程思路:os.walk,遍历出目录下全部的mp3文件,作出list, list中的文件名是完整路径的; 对list中的每个文件,提取 文件名部分,用字符串的split功能,分割出歌名和歌手,重新组合出新文件名; 利用os.rename,把旧文件名改名为新文件名。
时间: 2024-03-13 13:43:38 浏览: 110
好的,这是一个比较常见的文件批量重命名的需求,以下是Python程序实现:
```python
import os
# 遍历文件夹,获取所有mp3文件的路径
mp3_files = []
for root, dirs, files in os.walk("./"):
for filename in files:
if filename.endswith(".mp3"):
mp3_files.append(os.path.join(root, filename))
# 对每个文件进行重命名
for mp3_file in mp3_files:
# 获取旧文件名
old_name = os.path.basename(mp3_file)
# 分割出歌名和歌手
song, artist = old_name.split("-")
song = song.strip() # 去除歌名前后空格
artist = artist.strip() # 去除歌手前后空格
# 组合出新文件名
new_name = "{} - {}.mp3".format(song, artist)
# 重命名文件
os.rename(mp3_file, os.path.join(os.path.dirname(mp3_file), new_name))
```
这个程序首先利用`os.walk`方法遍历出目录下全部的mp3文件,然后对每个文件进行重命名。重命名的过程是先获取旧文件名,然后利用字符串的`split`方法分割出歌名和歌手,再重新组合出新文件名,最后利用`os.rename`方法重命名文件。
阅读全文