Python文件夹与文件的操作实现代码


Posted in Python onJuly 13, 2014

有关文件夹与文件的查找,删除等功能 在 os 模块中实现。使用时需先导入这个模块,

导入的方法是:

import os

一、取得当前目录

s = os.getcwd()

# s 中保存的是当前目录(即文件夹)
比如运行abc.py,那么输入该命令就会返回abc所在的文件夹位置。
举个简单例子,我们将abc.py放入A文件夹。并且希望不管将A文件夹放在硬盘的哪个位置,都可以在A文件夹内生成一个新文件夹。且文件夹的名字根据时间自动生成。

import os
import time
folder = time.strftime(r"%Y-%m-%d_%H-%M-%S",time.localtime())
os.makedirs(r'%s/%s'%(os.getcwd(),folder))

二、更改当前目录

os.chdir( "C:\\123")
#将当前目录设为 "C:\123", 相当于DOC命令的 CD C:\123  
#说明: 当指定的目录不存在时,引发异常。
异常类型:WindowsError
Linux下没去试,不知是哪种
 
三 将一个路径名分解为目录名和文件名两部分
fpath , fname = os.path.split( "你要分解的路径")
例如:
a, b = os.path.split( "c:\\123\\456\\test.txt" )
print a
print b
显示:
c:\123\456
test.txt
 
四   分解文件名的扩展名

fpathandname , fext = os.path.splitext( "你要分解的路径")
例如:
a, b = os.path.splitext( "c:\\123\\456\\test.txt" )
print a
print b
显示:
c:\123\456\test
.txt
 
五、判断一个路径( 目录或文件)是否存在

b = os.path.exists( "你要判断的路径")
返回值b: True 或 False
 
六、判断一个路径是否文件
b = os.path.isfile( "你要判断的路径")
返回值b: True 或 False
 
七、判断一个路径是否目录
b = os.path.isdir( "你要判断的路径")
返回值b: True 或 False
 
八、获取某目录中的文件及子目录的列表       
L = os.listdir( "你要判断的路径")
例如:
L = os.listdir( "c:/" )
print L
显示 :
['1.avi', '1.jpg', '1.txt', 'CONFIG.SYS', 'Inetpub', 'IO.SYS', 'KCBJGDJC', 'KCBJGDYB', 'KF_GSSY_JC', 'MSDOS.SYS', 'MSOCache', 'NTDETECT.COM', 'ntldr', 'pagefile.sys', 'PDOXUSRS.NET', 'Program Files', 'Python24', 'Python31', 'QQVideo.Cache', 'RECYCLER', 'System Volume Information', 'TDDOWNLOAD', 'test.txt', 'WINDOWS']
这里面既有文件也有子目录
1 获取某指定目录下的所有子目录的列表

def getDirList( p ):
    p = str( p )
    if p=="":
       return [ ]
    p = p.replace( "/","\\")
    if p[ -1] != "\\":
       p = p+"\\"
    a = os.listdir( p )
    b = [ x  for x in a if os.path.isdir( p + x ) ]
    return b
print  getDirList( "C:\\" )

结果:
['Documents and Settings', 'Downloads', 'HTdzh', 'KCBJGDJC', 'KCBJGDYB', 'KF_GSSY_JC', 'MSOCache', 'Program Files', 'Python24', 'Python31', 'QQVideo.Cache', 'RECYCLER', 'System Volume Information', 'TDDOWNLOAD', 'WINDOWS']

2 获取某指定目录下的所有文件的列表

def getFileList( p ):
    p = str( p )
    if p=="":
       return [ ]
    p = p.replace( "/","\\")
    if p[ -1] != "\\":
       p = p+"\\"
    a = os.listdir( p )
    b = [ x  for x in a if os.path.isfile( p + x ) ]
    return b
print  getFileList( "C:\\" )

结果:
['1.avi', '1.jpg', '1.txt', '123.txt', '12345.txt', '2.avi', 'a.py', 'AUTOEXEC.BAT', 'boot.ini', 'bootfont.bin', 'CONFIG.SYS', 'IO.SYS', 'MSDOS.SYS', 'NTDETECT.COM', 'ntldr', 'pagefile.sys', 'PDOXUSRS.NET', 'test.txt']
 
九、创建子目录

os.makedirs(   path )   # path 是"要创建的子目录"
例如:
os.makedirs(   "C:\\123\\456\\789")
调用有可能失败,可能的原因是:
(1) path 已存在时(不管是文件还是文件夹)
(2) 驱动器不存在
(3) 磁盘已满
(4)磁盘是只读的或没有写权限

十、删除子目录

os.rmdir( path )   # path: "要删除的子目录"
产生异常的可能原因:
(1) path 不存在
(2) path 子目录中有文件或下级子目录
(3) 没有操作权限或只读
测试该函数时,请自已先建立子目录。

十一、删除文件

os.remove(   filename )   # filename: "要删除的文件名"
产生异常的可能原因:
(1)   filename 不存在
(2) 对filename文件, 没有操作权限或只读。

十二、文件改名

os.name( oldfileName, newFilename)
产生异常的原因:
(1) oldfilename 旧文件名不存在
(2) newFilename 新文件已经存在时,此时,您需要先删除 newFilename 文件。

Python 相关文章推荐
用Python写飞机大战游戏之pygame入门(4):获取鼠标的位置及运动
Nov 05 Python
Python中字符串的格式化方法小结
May 03 Python
python 循环遍历字典元素的简单方法
Sep 11 Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
Mar 19 Python
python selenium 对浏览器标签页进行关闭和切换的方法
May 21 Python
将python图片转为二进制文本的实例
Jan 24 Python
python抖音表白程序源代码
Apr 07 Python
pandas 时间格式转换的实现
Jul 06 Python
Django实现简单网页弹出警告代码
Nov 15 Python
django admin 添加自定义链接方式
Mar 11 Python
Python基于BeautifulSoup爬取京东商品信息
Jun 01 Python
python编写一个会算账的脚本的示例代码
Jun 02 Python
分享15个最受欢迎的Python开源框架
Jul 13 #Python
使用 Python 获取 Linux 系统信息的代码
Jul 13 #Python
Python文件操作类操作实例详解
Jul 11 #Python
Python编写检测数据库SA用户的方法
Jul 11 #Python
python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
Jul 11 #Python
python文件和目录操作函数小结
Jul 11 #Python
python实现的登陆Discuz!论坛通用代码分享
Jul 11 #Python
You might like
基于PHP 面向对象之成员方法详解
2013/05/04 PHP
thinkphp实现数组分页示例
2014/04/13 PHP
CodeIgniter错误mysql_connect(): No such file or directory解决方法
2014/09/06 PHP
PHP5.5新特性之yield理解与用法实例分析
2019/01/11 PHP
js的event详解。
2006/09/06 Javascript
JavaScript入门教程(7) History历史对象
2009/01/31 Javascript
document.body.scrollTop 值总为0的解决方法 比较常见的标准问题
2009/11/30 Javascript
JavaScript使用ActiveXObject访问Access和SQL Server数据库
2015/04/02 Javascript
jQuery AjaxUpload 上传图片代码
2016/02/02 Javascript
JS获取url参数、主域名的方法实例分析
2016/08/03 Javascript
socket.io与pm2(cluster)集群搭配的解决方案
2017/06/02 Javascript
Angular客户端请求Rest服务跨域问题的解决方法
2017/09/19 Javascript
javascript中的replace函数(带注释demo)
2018/01/07 Javascript
vue select二级联动第二级默认选中第一个option值的实例
2018/01/10 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
2018/03/05 Javascript
vue-自定义组件传值的实例讲解
2018/09/18 Javascript
vue组件创建的三种方式小结
2020/02/03 Javascript
JS 设计模式之:工厂模式定义与实现方法浅析
2020/05/06 Javascript
python实现将文本转换成语音的方法
2015/05/28 Python
Python解析json之ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)
2017/07/06 Python
Python实现二叉树前序、中序、后序及层次遍历示例代码
2019/05/18 Python
postman模拟访问具有Session的post请求方法
2019/07/15 Python
Python3 A*寻路算法实现方式
2019/12/24 Python
美国球迷装备的第一来源:FOCO
2020/07/03 全球购物
C#如何判断当前用户是否输入某个域
2015/12/07 面试题
手术室护士自我鉴定
2013/10/14 职场文书
妇产科护士自我鉴定
2013/10/15 职场文书
保护环境的标语
2014/06/09 职场文书
调研座谈会发言材料
2014/08/23 职场文书
校车安全责任书
2014/08/25 职场文书
十佳家长事迹材料
2014/08/26 职场文书
诉讼授权委托书
2014/10/15 职场文书
交流会主持词
2015/07/02 职场文书
《开国大典》教学反思
2016/02/16 职场文书
详解Laravel框架的依赖注入功能
2021/05/27 PHP
Win11无法访问设备和打印机 如何解决页面空白
2022/04/09 数码科技