首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python - os.rename "FileNotFoundError:[WinError 2]“

Python - os.rename "FileNotFoundError:[WinError 2]“
EN

Stack Overflow用户
提问于 2022-01-20 05:59:28
回答 2查看 836关注 0票数 2

我正在尝试批量重命名一些照片,我只想要第二部分,例如从1234 - Photo_Name.jpg重命名为Photo_Name.jpg

这是我的密码:

代码语言:javascript
运行
复制
import os

folder = r"C:\Users\yousef\Downloads\Pictures\\"
files = os.listdir(folder)
for file_name in files:
    new_filename = file_name.split(' - ')[1]
    os.rename(file_name, new_filename)

但是我得到了这个错误

代码语言:javascript
运行
复制
File "c:\Users\yousef\Downloads\code.py", line 7, in <module>
    os.rename(file_name, new_filename)
FileNotFoundError: [WinError 2] The system cannot find the file specified: '1234 - Photo_Name.jpg' -> 'Photo_Name.jpg'
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-20 06:04:35

它试图重命名当前目录中的文件,而不是您列出的文件夹。使用os.path.join()将目录与文件名组合在一起。

代码语言:javascript
运行
复制
import os

folder = r"C:\Users\yousef\Downloads\Pictures\\"
files = os.listdir(folder)
for file_name in files:
    new_filename = file_name.split(' - ')[1]
    os.rename(os.path.join(folder, file_name), os.path.join(folder, new_filename))
票数 1
EN

Stack Overflow用户

发布于 2022-01-20 06:03:31

尝试将文件夹的完整路径放在源文件和目标文件变量的前面:

代码语言:javascript
运行
复制
import os

folder = r"C:\Users\yousef\Downloads\Pictures\\"
files = os.listdir(folder)
for file_name in files:
    new_filename = file_name.split(' - ')[1]
    os.rename(f"{folder}{file_name}", f"{folder}{new_filename}")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70781445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档