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 httplib模块使用实例
Apr 11 Python
详解Python爬虫的基本写法
Jan 08 Python
Python语言描述连续子数组的最大和
Jan 04 Python
python将一组数分成每3个一组的实例
Nov 14 Python
python 内置模块详解
Jan 01 Python
Win10环境python3.7安装dlib模块趟过的坑
Aug 01 Python
Python 使用元类type创建类对象常见应用详解
Oct 17 Python
浅析python redis的连接及相关操作
Nov 07 Python
基于python实现微信好友数据分析(简单)
Feb 16 Python
详解Python设计模式之策略模式
Jun 15 Python
MAC平台基于Python Appium环境搭建过程图解
Aug 13 Python
使用AJAX和Django获取数据的方法实例
Oct 25 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
Win9x/ME下Apache+PHP安装配置
2006/10/09 PHP
PHP检测接口Traversable用法详解
2017/12/29 PHP
jquery默认校验规则整理
2014/03/24 Javascript
JavaScript编写推箱子游戏
2015/07/07 Javascript
JS实现自定义简单网页软键盘效果代码
2015/11/05 Javascript
解决WordPress使用CDN后博文无法评论的错误
2015/12/15 Javascript
js仿百度登录页实现拖动窗口效果
2016/03/11 Javascript
js修改onclick动作的四种方法(推荐)
2016/08/18 Javascript
JS实现复制功能
2017/03/01 Javascript
JavaScript实现前端分页控件
2017/04/19 Javascript
vue 和vue-touch 实现移动端左右导航效果(仿京东移动站导航)
2017/04/22 Javascript
vue下跨域设置的相关介绍
2017/08/26 Javascript
原生JS实现Ajax跨域请求flask响应内容
2017/10/24 Javascript
React教程之封装一个Portal可复用组件的方法
2018/01/02 Javascript
vue项目中使用lib-flexible解决移动端适配的问题解决
2018/08/23 Javascript
详解关于html,css,js三者的加载顺序问题
2019/04/10 Javascript
React优化子组件render的使用
2019/05/12 Javascript
使用PreloadJS加载图片资源的基础方法详解
2020/02/03 Javascript
Vue实现简单计算器案例
2020/02/25 Javascript
微信小程序调用后台service教程详解
2020/11/06 Javascript
python实现红包裂变算法
2016/02/16 Python
浅谈Python浅拷贝、深拷贝及引用机制
2016/12/15 Python
python儿童学游戏编程知识点总结
2019/06/03 Python
django url到views参数传递的实例
2019/07/19 Python
使用python脚本自动创建pip.ini配置文件代码实例
2019/09/20 Python
解决torch.autograd.backward中的参数问题
2020/01/07 Python
OpenCV python sklearn随机超参数搜索的实现
2020/01/17 Python
一款利用纯css3实现的超炫3D表单的实例教程
2014/12/01 HTML / CSS
详解HTML5 Canvas绘制不规则图形时的非零环绕原则
2016/03/21 HTML / CSS
机械工程师的岗位职责
2013/11/17 职场文书
学习党章思想汇报
2014/01/07 职场文书
物流专业大学的自我评价
2014/01/11 职场文书
新郎婚礼答谢词
2015/01/04 职场文书
丧事答谢词
2015/01/05 职场文书
大学生安全教育心得体会
2016/01/15 职场文书
golang import自定义包方式
2021/04/29 Golang