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 标准差计算的实现(std)

numpy.std() 求标准差的时候默认是除以 n 的,即是有偏的,np.std无偏样本标准差方式为加入参数 ddof = 1; pandas.std() 默认是除以n-1 的,即是...

python Crypto模块的安装与使用方法

python Crypto模块的安装与使用方法

前言 最开始想尝试在windows下面安装python3.6,虽然python安装成功,但在安装Cryto模块用pip3 install pycrypto老是会报错。老夫搞了半天,最终决...

在Python中构建增广矩阵的实现方法

麻烦的 # TODO 构造增广矩阵,假设A,b行数相同 def augmentMatrix(A, b): if(len(A) != len(b)): raise 'The...

numpy基础教程之np.linalg

numpy基础教程之np.linalg

前言 numpy.linalg模块包含线性代数的函数。使用这个模块,可以计算逆矩阵、求特征值、解线性方程组以及求解行列式等。本文讲给大家介绍关于numpy基础之 np.linalg的相关...

Python cookbook(数据结构与算法)筛选及提取序列中元素的方法

本文实例讲述了Python筛选及提取序列中元素的方法。分享给大家供大家参考,具体如下: 问题:提取出序列中的值或者根据某些标准对序列做删减 解决方案:列表推导式、生成器表达式、使用内建的...