python下os模块强大的重命名方法renames详解


Posted in Python onMarch 07, 2017

python下os模块强大的重命名方法renames详解

 在python中有很多强大的模块,其中我们经常要使用的就是OS模块,OS模块提供了超过200个方法来供我们使用,并且这些方法都是和数据处理相关的,这里介绍下重命名这个方法。

    OS的重命名方法是os.rename,我用的ipython,这个玩意很是强大,只要按下TAB键,可以帮助我们自动对齐和列出可以使用的方法,发现有2个方法,分别是rename和renames,2个方法,前面的rename使用过无数次,但是后面的renames还没有使用过,今天有空,想看看到底有和用处---顾名思义,我觉得可能是批量修改吧,哈哈,下面我们来看下演示效果:

[root@localhost ~]# ipython    进入ipython工具
Python 2.6 (r26:66714, Dec 17 2010, 11:17:00)
Type "copyright", "credits" or "license" for more information.

IPython 0.10.1 -- An enhanced Interactive Python.
?     -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help   -> Python's own help system.
object?  -> Details about 'object'. ?object also works, ?? prints more.

In [1]: import os          导入OS模块

In [2]: os.mkdir("/tmp/test")    新建目录

In [3]: os.listdir("/tmp/test")   
Out[3]: []

In [4]: os.mkdir("/tmp/test/test1")       新建目录

In [5]: os.listdir("/tmp/test/")
Out[5]: ['test1']

In [6]: os.listdir("/tmp/test/test1")
Out[6]: []

In [7]: os.ren          按Tab键自动对齐的效果
os.rename  os.renames

In [7]: os.rename("/tmp/test/test1","/tmp/test/test2")

重命名目录名

In [8]: os.listdir("/tmp/test/")  修改成功
Out[8]: ['test2']

In [9]: os.rename         按Tab键自动对齐的效果
os.rename  os.renames

In [9]: os.rename("/tmp/test/test2","/tmp/test1/test3")

大家注意看下这个命令和上面的命令的区别,我不仅仅是要重命名最后的目录名,连前面的目录也要重命名
---------------------------------------------------------------------------
OSError                  Traceback (most recent call last)

/root/<ipython console> in <module>()

OSError: [Errno 2] No such file or directory

嘿嘿,报错了,说没有这个目录,
下面在看下下面这个强大的方法吧,哈哈

In [10]: os.renames("/tmp/test/test2","/tmp/test1/test3")

In [11]: os.listdir("/tmp/test1/test3")
Out[11]: []

嘿嘿,居然成功了,真是强大啊,子目录能改,上级目录也能改,这个法子也许对我们工作会有帮助吧。
In [12]: os.listdir("/tmp/test1")
Out[12]: ['test3']

    同样的,他可以修改目录名,不知道能否连文件名,目录名一起修改呢,下面我们再来看下效果:

In [22]: os.listdir("/tmp/test1/test3/")
Out[22]: ['test']       新建一个空文件

In [23]: cat /tmp/test1/test3/test

In [24]: os.renam
os.rename  os.renames  

In [24]:
os.renames("/tmp/test1/test3/test","/tmp/test/test2/test3")

批量修改文件名和目录名,嘿嘿,果然也成功了。

In [25]: os.listdir("/tmp/test/test2/test3")
---------------------------------------------------------------------------
OSError                  Traceback (most recent call last)

/root/<ipython console> in <module>()

OSError: [Errno 20] Not a directory: '/tmp/test/test2/test3'

In [26]: os.listdir("/tmp/test/test2/")  浏览效果
Out[26]: ['test3']

In [27]:

   希望本文能对大家的工作和学习有帮助,如果感兴趣,可以自己去试验下。。。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Python 相关文章推荐
python通过wxPython打开一个音频文件并播放的方法
Mar 25 Python
深入解析Python中的WSGI接口
May 11 Python
Python对列表排序的方法实例分析
May 16 Python
Python使用win32com实现的模拟浏览器功能示例
Jul 13 Python
Python闭包之返回函数的函数用法示例
Jan 27 Python
Python反爬虫技术之防止IP地址被封杀的讲解
Jan 09 Python
python获取磁盘号下盘符步骤详解
Jun 19 Python
Pandas中Series和DataFrame的索引实现
Jun 27 Python
TensorFlow实现模型断点训练,checkpoint模型载入方式
May 26 Python
python db类用法说明
Jul 07 Python
python各种excel写入方式的速度对比
Nov 10 Python
Django使用channels + websocket打造在线聊天室
May 20 Python
深入理解python中的atexit模块
Mar 07 #Python
Python 备份程序代码实现
Mar 06 #Python
Python与Java间Socket通信实例代码
Mar 06 #Python
python使用arcpy.mapping模块批量出图
Mar 06 #Python
python与php实现分割文件代码
Mar 06 #Python
windows系统下Python环境的搭建(Aptana Studio)
Mar 06 #Python
windows下安装Python和pip终极图文教程
Mar 05 #Python
You might like
《破坏领主》销量已超100万 未来将继续开发新内容
2020/03/08 其他游戏
MySQL连接数超过限制的解决方法
2011/07/17 PHP
hadoop常见错误以及处理方法详解
2013/06/19 PHP
PHP查找数值数组中不重复最大和最小的10个数的方法
2015/04/20 PHP
PHP实现163邮箱自动发送邮件
2016/03/29 PHP
JavaScript 学习笔记(四)
2009/12/31 Javascript
javascript 特性检测并非浏览器检测
2010/01/15 Javascript
用JavaScript玩转游戏物理(一)运动学模拟与粒子系统
2010/06/19 Javascript
用JS控制回车事件的代码
2011/02/20 Javascript
10款非常有用的 Ajax 插件分享
2012/03/14 Javascript
常见表单重复提交问题整理及解决方法
2013/11/13 Javascript
jQuery基于当前元素进行下一步的遍历
2014/05/20 Javascript
学习javascript的闭包,原型,和匿名函数之旅
2015/10/18 Javascript
jQuery学习笔记之回调函数
2016/08/15 Javascript
AngularJS模板加载用法详解
2016/11/04 Javascript
jQuery Validate 数组 全部验证问题
2017/01/12 Javascript
谈谈JavaScript中super(props)的重要性
2019/02/12 Javascript
Vue-CLI 3.X 部署项目至生产服务器的方法
2019/03/22 Javascript
maptalks+three.js+vue webpack实现二维地图上贴三维模型操作
2020/08/10 Javascript
使用Python3中的gettext模块翻译Python源码以支持多语言
2015/03/31 Python
python 连接sqlite及简单操作
2017/06/30 Python
Python实现的求解最大公约数算法示例
2018/05/03 Python
python自动发邮件总结及实例说明【推荐】
2019/05/31 Python
使用Python自动生成HTML的方法示例
2019/08/06 Python
Python实现遗传算法(二进制编码)求函数最优值方式
2020/02/11 Python
Python计算信息熵实例
2020/06/18 Python
世界最大域名注册商:GoDaddy
2016/07/24 全球购物
英国女装网上商店:I Saw It First
2018/10/18 全球购物
世界领先的电子书网站:eBooks.com(在线购买小说、非小说和教科书)
2019/03/30 全球购物
Can a struct inherit from another class? (结构体能继承类吗)
2014/07/22 面试题
物理教育专业毕业生推荐信
2013/11/03 职场文书
中专自我鉴定
2014/02/05 职场文书
促销活动总结
2014/04/28 职场文书
省级优秀班集体申报材料
2014/05/25 职场文书
幼儿园大班毕业评语
2014/12/31 职场文书
《游戏王:大师决斗》新活动上线 若无符合卡组可免费租用
2022/04/13 其他游戏