python os.rename()方法重命名文件或目录
os.rename()方法
python可用于操作计算机系统的标准库os的方法os.rename()可用于重命名文件或目录。如果参数指定的新文件名(路径)已经存在,旧文件将被替换,如果参数指定的就目录或文件路径或文件名不存在,python将抛出FileNotFoundError。
os.rename()语法及参数结构
os.rename( oldpathname, newpathname )
参数解析表:
参数 | 描述 |
---|---|
oldpathname | 字符串,指定需要重命名的目录或文件名 |
newpathname | 字符串,指定的新名称 |
os.rename()实例代码
提示:下方的代码运行和输出于mac osx系统。
提示:在代码运行的过程中,可以打开对应目录,查看文件的创建和重命名的过程:
>>> import os
>>> os.makedirs('/Users/z/a/b')
>>> os.rename('/Users/z/a','/Users/z/c')
>>> with open('/Users/z/c/b/test.txt','w',encoding='utf-8') as f:
... f.write('笨鸟工具,x1y1z1.com')
...
15
>>> os.rename('/Users/z/c/b/test.txt','/Users/z/c/b/x1y1z1.txt')
>>> os.rename('/Users/z/a/b','/Users/z/a/d')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory: '/Users/z/a/b' -> '/Users/z/a/d'
实例代码解析
- 使用makedirs()递归创建一个目录,有两个文件a和b,a包含b;
- ename('/Users/z/a','/Users/z/c')将a文件的名称重命名为c;
- with语句在b文件夹中创建了一个.txt的文件;
- os.rename('/Users/z/c/b/test.txt','/Users/z/c/b/x1y1z1.txt')将新创建的文件名改成x1y1z1.txt
- 可以用with语句重新建立一个.txt文件,并修改成x1y1z1.txt,旧的x1y1z1.txt文件将被新的替换,可以从文件中的内容来体现这一点;
- os.rename('/Users/z/a/b','/Users/z/a/d')中文件夹a的名称已经被修改成c,所以'/Users/z/a/b'是目录不存在,python抛出FileNotFoundError。