os.rename批量修改文件名称报错:[WinError 2] 系统找不到指定的文件的解决方案

简介: os.rename批量修改文件名称报错:[WinError 2] 系统找不到指定的文件的解决方案

 这是社区交流区一位同学提出的问题,原提问链接:https://bbs.csdn.net/topics/603461429

原代码及报错:

image.gif


image.gif

原因及解决方案:

image.gif存在问题的代码:

image.gif

这里写一些关于这个问题的小笔记供大家参考:

1、在os.rename之前先os.chdir(),在对文件重命名之前为其指定路径。

# path = 需要指定的路径
os.chdir(path)
os.rename(new_file_name_list, new_file_name)

image.gif

2、使用os.renames代替os.rename。os.rename仅更改了最上层目录的名称,因此,它会在“ C:\Users\ASUS\Desktop\test”中查找“ test(1).jpg”(该目录不存在嗷)。os.renames调用rename(),在调用之前,使用makedirs()递归创建目录。本质上os.renames()应该是通过makedirs()来实现递归的。

3、对于os.rename(oldpath, newpath),它的功能本质类似于把文件oldtail(文件夹或者文件均可)移到newhead文件夹下并重命名为newtail(文件或者文件夹)。它只可以更改oldtail部分,不能更改oldhead部分,即不可以更改上级目录部分。如果oldhead存在,oldtail不存在时,报错:FileNotFoundError: [WinError 2] 系统找不到指定的文件。

os.rename(oldpath,newpath)
oldpath(oldhead, oldtail)
newpath(newhead, newtail)

image.gif

       对于os.renames(oldpath, newpath),它既可以只更改oldtail部分,又可以只更改oldhead部分,还可以同时更改oldhead和oldtail,对于newpath的newhead没有限制,只要有权限访问,如果newhead不存在,直接创建。

os.renames(oldpath, newpath)
oldpath(oldhead, oldtail)
newpath(newhead, newtail)

image.gif

学习链接:Python os.rename()和os.renames()用法的区别_Jock2018的博客-CSDN博客

4、os.listdir的文件名是相对路径(os.listdir只返回文件名);它将在当前工作目录中搜索,该目录是os.getcwd()(不会因为变量命名更改而进行更改)

修改后代码:

import os
import re
import sys
def renameall():
    fileList = os.listdir('../test_pic')
    print("修改前:" + str(fileList))
    os.chdir('../test_pic')
    n = 0
    for fileName in fileList:
        n += 1
        a = '2021_backgroud'
        pat = ".+\.(jpg)"
        pattern = re.findall(pat, fileName)
        a = a + str(n)
        os.renames(fileName, (a + '.' + pattern[0]))
        print(os.listdir('../test_pic'))
        print("重命名成功")
    sys.stdin.flush()
    print("修改后:" + str(os.listdir('../test_pic')))
renameall()

image.gif

运行结果:

image.gif

相关文章
|
10月前
|
关系型数据库 虚拟化 UED
Omnissa Horizon Windows OS Optimization Tool 2503 - Windows 系统映像优化工具
Omnissa Horizon Windows OS Optimization Tool 2503 - Windows 系统映像优化工具
414 7
Omnissa Horizon Windows OS Optimization Tool 2503 - Windows 系统映像优化工具
|
6月前
|
JSON iOS开发 数据格式
最新研发flutter3.32+window_manager客户端OS管理系统
原创Flutter3.32+Dart3.8+Getx+Window_Manager实战桌面客户端os系统解决方案。支持macOS和windows两种主题风格、自定义桌面栅格布局。
494 50
|
运维 安全 Devops
Cisco NX-OS ACI 16.1(4h)F 发布 - 适用于 ACI 模式下的 Cisco Nexus 9000 系列交换机系统软件
Cisco NX-OS ACI 16.1(4h)F 发布 - 适用于 ACI 模式下的 Cisco Nexus 9000 系列交换机系统软件
134 0
|
安全 搜索推荐 Android开发
移动应用与系统:探索开发趋势与操作系统优化策略####
当今数字化时代,移动应用已成为日常生活不可或缺的一部分,而移动操作系统则是支撑这些应用运行的基石。本文旨在探讨当前移动应用开发的最新趋势,分析主流移动操作系统的特点及优化策略,为开发者提供有价值的参考。通过深入剖析技术创新、市场动态与用户需求变化,本文力求揭示移动应用与系统协同发展的内在逻辑,助力行业持续进步。 ####
282 9
|
11月前
|
监控 关系型数据库 MySQL
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
871 30
|
8月前
|
Cloud Native 安全 Linux
龙蜥操作系统:CentOS 谢幕之后,国产云原生系统的崛起之路
龙蜥操作系统(Anolis OS)是 CentOS 停止维护后,由阿里云等企业联合发起的开源项目。它以双内核架构和全栈优化为核心,提供无缝替代 CentOS 的方案,兼容主流生态并针对云计算场景深度优化。其技术亮点包括 RHCK 和 ANCK 双内核、性能优化、全栈安全及国密算法支持。龙蜥适用于云原生基础设施、企业级应用部署及开发环境,社区已吸引 200 多家单位参与。未来规划涵盖 AI 框架优化、RISC-V 架构适配及桌面环境构建,正重新定义云时代的操作系统边界。
2344 0
|
安全 前端开发 开发工具
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
610 5
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
|
11月前
|
弹性计算 运维 监控
操作系统控制台-健康守护我们的系统
阿里云操作系统控制平台作为新一代云端服务器中枢平台,通过创新交互模式重构主机管理体验。用户可通过API、SDK、CLI等方式进行系统管理,采用图形化控制替代传统命令行操作,集智能运维、集群协调、生态扩展于一体,显著提升企业级IT设施管理效能。通过此平台,用户可以轻松实现运维监控、智能助手、扩展插件管理及订阅服务等功能,大幅降低运维复杂度,提高管理效率。
303 11
|
缓存 安全 Linux
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
2637 23
|
监控 搜索推荐 开发工具
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
2190 2
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新

推荐镜像

更多