Detailed explanation of renames, a powerful renaming method of the os module under python
There are many powerful modules in python, among which we often use the OS module. More than 200 methods are provided for us to use, and these methods are all related to data processing. Here we introduce the renaming method.
The renaming method of OS is os.rename. I use ipython. This thing is very powerful. As long as the TAB key is pressed, it can help us automatically align and list the methods that can be used. I found There are 2 methods, namely rename and renames, 2 methods. The former rename has been used countless times, but the latter renames has not been used yet. I have free time today and want to see how useful it is---As the name suggests, I think Maybe it’s batch modification, haha, let’s take a look at the demonstration effect:
[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']
Similarly, he can modify the directory name, I don’t know if it can Should I modify the file name and directory name together? Let’s take a look at the effect:
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]:
Thank you for reading, I hope it can help everyone, thank you for your review of this article Site support!
For more detailed introduction to the powerful renaming method renames of the os module under Python, please pay attention to the PHP Chinese website for related articles!