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

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

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']

Python下OS模块重命名方法renames的更多相关文章

  1. Python学习-32.Python中os模块的一些方法

    首先肯定是要引入os模块了. import os getcwd方法: print(os.getcwd()) 上面的语句将会输出当前的工作目录,相当于C#中的Environment.CurrentDir ...

  2. Python学习-34.Python中os模块的一些方法(二)

    stat方法: 用于获取文件信息,例如创建时间.文件大小等. import os filestate=os.stat("e:/temp/test.txt") print(files ...

  3. python中os模块在windows下的使用

    今天学习了一下Python的os模块,主要是针对文件夹和文件路径的一系列操作. 与Python内置函数相比这里这里的函数功能更多样化,功能也更强大.但是学习过程中我发现很多函数都是只适用于unix系统 ...

  4. Windows下对文件夹下所有图片批量重命名(附C++,python,matlab代码)

    https://blog.csdn.net/u011574296/article/details/72956446: Windows下对文件夹下所有图片批量重命名(附C++,python,matlab ...

  5. ( 转)Ubuntu下创建、重命名、删除文件及文件夹,强制清空回收站方法

    Ubuntu下创建.重命名.删除文件及文件夹,强制清空回收站方法 mkdir 目录名 ——创建一个目录 rmdir 空目录名 ——删除一个空目录 rm 文件名 文件名 ——删除一个文件或多个文件 rm ...

  6. python中os模块中文帮助

    python中os模块中文帮助   python中os模块中文帮助文档文章分类:Python编程 python中os模块中文帮助文档 翻译者:butalnd 翻译于2010.1.7——2010.1.8 ...

  7. python中os模块和sys模块的常见用法

    OS模块的常见用法 os.remove()   删除文件 os.rename()   重命名文件 os.walk()    生成目录树下的所有文件名 os.chdir()    改变目录 os.mkd ...

  8. Python利用os模块批量修改文件名

    初学Python.随笔记录自己的小练习. 通过查阅资料os模块中rename和renames都可以做到 他们的区别为.rename:只能修改文件名   renames:可以修改文件名,还可以修改文件上 ...

  9. python的os模块fnmatch模块介绍

    一.先介绍一下os模块 import os print(os.getcwd()) # E:\python\test\python_models # 获取当前的目录 print(os.listdir(& ...

随机推荐

  1. 如何去除pycharm中代码下的波浪线

    Pycharm中新建一个工程,如果不经过配置,在该工程下创建模块写代码,通常是有波浪线的,这样看着很不美观 如何解决这种问题,通常有两种方法 方法一:点击右下角的图标,会出现一个Highlightin ...

  2. 如何查看Windows10连接的WiFi密码

    1.找到 WiFi 图标,右击鼠标,点击 打开‘网络和internet设置’ 2.点击 1 所指图标,然后点击 2 所指图标 3.鼠标左击图标 4.点击如下图标 5.先点击 1 的图标,在勾选 2 的 ...

  3. 移动端 HTML5 <video> 视频播放优化实践

    遇到的挑战 移动端HTML5使用原生<video>标签播放视频,要做到两个基本原则,速度快和体验佳,先来分析一下这两个问题. 下载速度 以一个8s短视频为例,wifi环境下提供的高清视频达 ...

  4. canvas - 饼状图

    <!DOCTYPE html> <html> <head> <title>Canvas测试</title> <meta charset ...

  5. Redis 补充

    Redis 补充 Redis 的主要用途 数据库 缓存和消息中间件 相当于一个字典 数据库切换 select 1 (默认36个数据库 默认在0) 1 基本数据类型 字符串 散列 hashes 列表 集 ...

  6. tf随笔-6

    import tensorflow as tfx=tf.constant([-0.2,0.5,43.98,-23.1,26.58])y=tf.clip_by_value(x,1e-10,1.0)ses ...

  7. Servlet中的Filter(过滤器)

     Filter,过滤器,是处于客户端与服务器资源文件之间的一道过滤网,在访问资源文件之前,通过一系列的过滤器对请求进行修改.判断等,把不符合规则的请求在中途拦截或修改.也可以对响应进行过滤,拦截或修改 ...

  8. 剑指offer-第四章解决面试题的思路(栈的压入和弹出序列)

    题目:输入两个整数序列,第一个序列表示栈的压入序列,请判断第二个序列是否为弹出序列. 思路:定义两个指针sPush和sPop分别指向两个整数序列的开头,借助一个辅助的栈,将第一个序列的数据依次压入栈中 ...

  9. 【msdn】RESTful 服务(配备 WCF)介绍

    原文地址:http://msdn.microsoft.com/zh-cn/magazine/dd315413.aspx RESTful 服务(配备 WCF)介绍 Jon Flanders 代码下载位置 ...

  10. 转载 关于case语句的优先级

    对于这样的组合逻辑电路 always@(X) case(X) X1: X2: …… endcase 如果分支项包含变量X的所有取值情况,并且互相不重复,那么这样的情况,其实没有必要使用综合指令. (一 ...