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中的列表推导浅析
Apr 26 Python
Python加pyGame实现的简单拼图游戏实例
May 15 Python
Python入门_条件控制(详解)
May 16 Python
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
Jul 20 Python
Python与R语言的简要对比
Nov 14 Python
使用Python+Splinter自动刷新抢12306火车票
Jan 03 Python
tensorflow构建BP神经网络的方法
Mar 12 Python
django用户登录和注销的实现方法
Jul 16 Python
对Python定时任务的启动和停止方法详解
Feb 19 Python
selenium python 实现基本自动化测试的示例代码
Feb 25 Python
Python帮你识破双11的套路
Nov 11 Python
python连接mongodb集群方法详解
Feb 13 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
WordPress中用于创建以及获取侧边栏的PHP函数讲解
2015/12/29 PHP
PHP-FPM 的管理和配置详解
2019/02/17 PHP
thinkphp3.2同时连接两个数据库的简单方法
2019/08/13 PHP
phpinfo的知识点总结
2019/10/10 PHP
PHP获取真实IP及IP模拟方法解析
2020/11/24 PHP
JavaScript 题型问答有答案参考
2010/02/17 Javascript
ExtJs grid行 右键菜单的两种方法
2010/06/19 Javascript
ASP.NET jQuery 实例10 动态修改hyperlink的URL值
2012/02/03 Javascript
js获取select默认选中的Option并不是当前选中值
2014/05/07 Javascript
javascript实现3D切换焦点图
2015/10/16 Javascript
基于javascript实现图片滑动效果
2016/05/07 Javascript
详解nodeJS中读写文件方法的区别
2017/03/06 NodeJs
jquery ui sortable拖拽后保存位置
2017/04/27 jQuery
AngularJs+Bootstrap实现漂亮的计算器
2017/08/10 Javascript
vue+vue-validator 表单验证功能的实现代码
2017/11/13 Javascript
vue中mint-ui的使用方法
2018/04/04 Javascript
jQuery中的类名选择器(.class)用法简单示例
2018/05/14 jQuery
layui radio性别单选框赋值方法
2018/08/15 Javascript
实例介绍JavaScript中多种组合继承
2019/01/20 Javascript
vue+ESLint 配置保存 自动格式化代码
2020/03/17 Javascript
Vue实现摇一摇功能(兼容ios13.3以上)
2021/01/26 Vue.js
[03:27]最受玩家喜爱奖提名:PZH_Element 致玩家寄语
2016/12/20 DOTA
[43:43]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第一场 11.22
2020/11/24 DOTA
[01:00:14]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第二场 2月28日
2021/03/11 DOTA
Python生成随机密码
2015/03/10 Python
Python语言描述随机梯度下降法
2018/01/04 Python
Python编程实现线性回归和批量梯度下降法代码实例
2018/01/04 Python
浅析python参数的知识点
2018/12/10 Python
python原类、类的创建过程与方法详解
2019/07/19 Python
基于CSS3的CSS 多栏(Multi-column)实现瀑布流源码分享
2014/06/11 HTML / CSS
乐高官方旗舰店:LEGO积木玩具
2019/04/06 全球购物
C#面试问题
2016/07/29 面试题
厉行勤俭节约倡议书
2014/05/16 职场文书
人事任命书范本
2015/09/21 职场文书
解析MySQL binlog
2021/06/11 MySQL
python基础之类方法和静态方法
2021/10/24 Python