python 用文件名比较和替换 txt 文件中的字符串

python compare and replace strings in txt file with filenames

我有一个文件 data.txt 和一个包含 mp3 个音乐文件的 sounds 文件夹。

data.txt 包含来自声音文件夹和其他文件夹的 filenames.mp3(按 random 顺序)的列表。

我已将 sounds 文件夹中的 mp3 文件转换为 wav,我想将 data.txt 中的 filenames.mp3 替换为相同的 filenames.wav 来自 sounds 文件夹。

例如:D:\sounds\data.txt 包含行

`01_Track.mp3 24
01_artist_name-song_name.mp3 80
02_Track.mp3 16
02_artist_name-song_name.mp3 16
03_artist_name-song_name.mp3 24
01_random_song.mp3 33
02_random_song.mp3 12
03_Track.mp3 90
03_random_song.mp3 36`

D:\sounds\ 现在包含以下文件

`01_Track.wav
02_Track.wav
03_Track.wav`

D:\sounds\data.txt 中,我想用 .wav

替换 D:\sounds\ 中匹配文件名的 .mp3 扩展名
import os

with open("data.txt") as infile:
    for line in infile:
        line = line.strip()
        if os.path.isfile(os.path.join("sounds", line)):
            os.rename(os.path.join("sounds", line), os.path.join("sounds", os.path.splitext(line)[0] + '.wav'))