2022年python文件操作 .pdf
《2022年python文件操作 .pdf》由会员分享,可在线阅读,更多相关《2022年python文件操作 .pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、 python 文件操作1.import glob 目录操作查看目录内容:filelist=glob.glob( *.* )filelist=glob.glob( c:* )查看指定类型的文件:filelist=glob.glob( c:*.sys)为了显示一个目录中的全部文件,可以使用如下所示的os.listdir 函数:files = os.listdir(r C:intro ) #适用于Windows files = os.listdir(/home/hpl/scripting/src/py/intro) # 适用于 Unix files = os.listdir(d:python2
2、6) files=os.listdir(c:) # 跨平台版本 : files = os.listdir(os.path .join(os.environscripting,src , py, intro)files = os.listdir(os.curdir) # 当前目录中的所有文件files = glob.glob(*) + glob.glob(.* )二、测试文件类型我们知道, 文件名、 目录名和链接名都是用一个字符串作为其标识符的,但是给我们一个标识符,我们该如何确定它所指的到底是常规文件文件名、目录名还是链接名呢?这时,我们可以使用os.path模块提供的isfile 函数、 i
3、sdir 函数和 islink 函数来达成我们的目标,如下所示:print myfile, 是一个 ,if os.path.isfile(myfile): print plain fileif os.path.isdir(myfile): print directoryif os.path.islink(myfile): print link 您还可以查找文件的日期及其大小:time_of_last_access = os.path.getatime(myfile) time_of_last_modification = os.path.getmtime(myfile) size = os.p
4、ath.getsize(myfile) 三 文件时间time_of_last_access = os.path.getatime(myfile) time_of_last_modification = os.path.getmtime(myfile) size = os.path.getsize(myfile) 这里的时间以秒为单位,并且从1970 年 1 月 1 日开始算起。为了获取以天为单位的最后访问日期,可以使用下列代码:import time # time.time() 返回当前时间age_in_days = (time.time()-time_of_last_access)/(60*
5、60*24) 四 文件详细信息为了获取文件的详细信息,可以使用os.stat 函数和 stat 模块中的其它实用程序来达到目的,如下:import stat 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - myfile_stat = os.stat(myfile) size = myfile_statstat.ST_SIZE mode = myfile_statstat.ST_MODE if stat.S_ISREG(mode)
6、: print %(myfile)是一个常规文件,大小为%(size)d 字节 % vars() 有关 stat 模块的详细信息,请参见Python Library Reference 。若想测试一个文件的读、写以及执行权限,可以用os.access函数,具体如下所示:if os.access(myfile, os.W_OK): print myfile, 具有写权限 if os.access(myfile, os.R_OK | os.W_OK | os.X_OK): print myfile, 具有读、写以及执行权限像上面这样的测试代码,对CGI 脚本来说非常有用。五、文件和目录的删除若要删
7、除单个文件的话,可以使用os.remove 函数,例如:os.remove( mydata.dat )。Os.remove 的别名是 os.unlink,不过后者跟传统的UNIX 操作系统以及Perl 中清除文件的函数重名。 我们可以使用下列方式来删除一组文件,如所有以 .jpg 以及 *.gif 为扩展名的文件:for file in glob.gl ob(*.jpg ) + glob.glob(*.gif):os.remove(file) 大家知道,只有当目录中内容已经被清空的时候,我们才可以使用rmdir 命令来删除该目录。不过,我们经常想要删除一个含有许多文件的目录树,这时我们可以使用
8、shutil 模块提供的 rmtree 函数,如下所示:shutil.rmtree(mydir )它相当于UNIX 操作系统中的命令rm -rf mydir 。我们可以建立一个自定义函数,使其在进行删除操作的时候将文件和目录做同等对待,其典型用法如下所示:remove(my.dat) #删除当个文件my.dat remove(mytree) #删除单个目录树mytree # 通过字符串列表中的名称来删除多个文件/目录树:remove(glob.glob(*.tmp ) + glob.glob(*.temp )remove( my.dat , mydir , yourdir + glob.glo
9、b(*.data )# -*- coding: UTF-8 -*- 六、文件的复制与重命名当我们要复制文件的时候,可以使用shutil 模块:import shutil shutil.copy(myfile, tmpfile) #拷贝最后访问时间和最后修改时间:shutil.copy2(myfile, tmpfile) # 拷贝一个目录树:shutil.copytree(root_of_tree, destination_dir, True) Copytree 的第三个参数规定对符号链接的处理,其中True 表示保留符号链接;而 False则意味着使用文件的物理副本替代符号链接。Python
10、语言能够很好地支持路径名的跨平台组成:Os.path.join 能使用正确的分界符(在UNIX和 Mac OS X 操作系统中使用/,在Windows 上使用 )来联接目录和文件名,变量名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - os.curdir 和 os.pardir 分别表示当前工作目录及其父目录。像下面的 UNIX 操作系统命令cp ././f1.c . 可以使用Python 语言提供一个跨平台的实现:shutil.
11、copy(os.path.join(os.pardi r,os.pardir,f1.c ), os.curdir)Os 模块中的 rename 函数通常被用于重命名一个文件:os.rename(myfile, tmp.1) # 将 myfile 重命名为 tmp.1这个函数也可用来在相同的文件系统之内移动文件。这里, 我们将 myfile 移动到目录d下面:os.rename(myfile, os.path.join(d, myfile) 在跨文件系统移动文件的时候,可以先使用shutil.copy2 来复制文件,然后再删除原来的副本即可,如下:shutil.copy2(myfile, os.
12、path.join(d, myfile) os.remove(myfile) 后面这种移动文件的方法是最安全的。copymode(sor,sten) 七 、分解路径名假设我们使用变量fname 来存放一个包含完整路径的文件名,例如:/usr/home/hpl/scripting/python/intro/hw.py 有 时 候 , 我 们 需 要 将 这 样 的 文 件 路 径 拆 分 为 基 本 名 称hw.py和 目 录 名/usr/home/hpl/scripting/python/intro 。在 Python 语言中,可以使用下列代码达到目的:basename = os.path.b
13、asename(fname) dirname = os.path.dirname(fname) # 或dirname, basename = os.path.split(fname) 扩展名是通过os.path.splitext 函数提取出来的,root, extension = os.path.splitext(fname) 这样, fname 中的扩展名部分即.py 被赋给变量extension, 而其余部分则赋给了变量root。如果想得到不带点号的扩展名的话,只需使用os.path.splitext(fname)11: 即可。假设一个文件名为f,其扩展名随意,若想将其扩展名改为ext,可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年python文件操作 2022 python 文件 操作
限制150内