如何将文件重命名为所在文件夹同名?Python代码报错求助
解决SRT文件重命名的文件未找到问题
你的代码报错核心原因有两个:
os.walk返回的file只是纯文件名,不是文件的完整路径,os.rename会默认在当前工作目录查找该文件,自然找不到子文件夹里的目标文件。- 新文件名没加上
.srt后缀,不符合你保留后缀的需求。
修复后的代码如下:
import os path = os.getcwd() for (dirname, dirs, files) in os.walk(path): for file in files: if file.endswith('.srt'): folder_name = os.path.basename(dirname) # 拼接文件的完整旧路径和新路径 old_file_path = os.path.join(dirname, file) new_file_path = os.path.join(dirname, f"{folder_name}.srt") os.rename(old_file_path, new_file_path)
代码说明:
- 用
os.path.join拼接目录名和文件名,得到文件的完整绝对路径,确保os.rename能准确定位到文件。 - 新文件名通过
f"{folder_name}.srt"保留了.srt后缀,符合你的需求。
内容的提问来源于stack exchange,提问作者Brunooo
相关产品推荐
相关产品推荐

