Python os.rename() 重命名目录和文件的示例

yipeiwu_com5年前Python基础

概述

os.rename() 方法用于重命名文件或目录,从 src 到 dst,如果dst是一个存在的目录, 将抛出OSError。

语法

rename()方法语法格式如下:

os.rename(src, dst)

参数

src – 要修改的目录名

dst – 修改后的目录名

返回值

该方法没有返回值

该方法 可以重命名 文件 和目录,

如果 src参数 对应文件或目录,不存在,会保错,

如果 dst 参数 对应文件或目录,已经存在,也会报错

实验方法:

在当前目录下,新建一个目录,名称为:testDir

在目录testDir下,新建一个 文本文件:123.txt

在目录testDir下,新建一个目录:ttDir

测试代码如下:

# -*- coding:utf-8 -*-

import os


srcDir = './testDir/ttDir'

dstDir = './testDir/hhDir'

try:
 os.rename(srcDir,dstDir)
except Exception as e:
 print e
 print 'rename dir fail\r\n'
else:
 print 'rename dir success\r\n'

srcFile = './testDir/123.txt'

dstFile = './testDir/555.txt'

try:
 os.rename(srcFile,dstFile)
except Exception as e:
 print e
 print 'rename file fail\r\n'
else:
 print 'rename file success\r\n'



print('END')

第一次运行结果如下:

rename dir success

rename file success

END

Process finished with exit code 0

此时 目录: ttDir 已经被修改为 hhDir

文件: 123.txt 已经被修改为 555.txt

再次执行代码:

运行结果如下:

[Error 2] 
rename dir fail

[Error 2] 
rename file fail

END

Process finished with exit code 0

文件和目录 都不存在了 ,所以失败了

第三次运行:

在之前的基础上:

新建文件 123.txt ,新建目录 ttDir

这样 testDir的目录布局如下:

Python os.rename 重命名目录和文件

执行代码:

运行结果如下:

[Error 183] 
rename dir fail

[Error 183] 
rename file fail

END

Process finished with exit code 0

错误的原因是:相同文件名的文件,已经存在了,不会覆盖该文件。

以上这篇Python os.rename() 重命名目录和文件的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python语言的面相对象编程方式初步学习

词语练习 class:告诉python创造一个新的东西 object:两个意思:最基本的东西和任何实例化的东西。 instance:创建一个类得到的东西。 def:在类...

Python matplotlib生成图片背景透明的示例代码

Python matplotlib生成图片背景透明的示例代码

使用matplotlib生成图片,想要背景透明,而且图例部分也显示透明效果,找到了大概的设置方法,特此记录。 # coding=utf-8 # matplotlib背景透明示例图 #...

详解Appium+Python之生成html测试报告

详解Appium+Python之生成html测试报告

思考:测试用例执行后,如何生成一个直观漂亮的测试报告呢? 分析: 1.unittest单元测试框架本身带有一个textTestRunner类,可以生成txt文本格式的测试报告,但是页面不...

Python实现拷贝多个文件到同一目录的方法

本文实例讲述了Python实现拷贝多个文件到同一目录的方法。分享给大家供大家参考,具体如下: 有一个文件,里面存有多个文件名,一个文件名一行。如果想把这些文件拷贝到一个目录,可以用下面的...

Python3 sys.argv[ ]用法详解

Python3 sys.argv[ ]用法详解

sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个“外部”很关键,因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可以看作...