Python程序设计基础与应用版教学课件第10-11章.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Python程序设计基础与应用版教学课件第10-11章.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 程序设计 基础 应用 教学 课件 10 11
- 资源描述:
-
1、第10章 文件与文件夹操作110.1 os模块2方法方法功能说明功能说明chdir(path)把path设为当前工作目录curdir当前文件夹environ包含系统环境变量和值的字典extsep当前操作系统所使用的文件扩展名分隔符get_exec_path()返回可执行文件的搜索路径getcwd()返回当前工作目录listdir(path)返回path目录下的文件和目录列表10.1 os模块3方法方法功能说明功能说明remove(path)删除指定的文件,要求用户拥有删除文件的权限,并且文件没有只读或其他特殊属性rename(src,dst)重命名文件或目录,可以实现文件的移动,若目标文件已存
2、在则抛出异常,不能跨越磁盘或分区replace(old,new)重命名文件或目录,若目标文件已存在则直接覆盖,不能跨越磁盘或分区scandir(path=.)返回包含指定文件夹中所有DirEntry对象的迭代对象,遍历文件夹时比listdir()更加高效sep当前操作系统所使用的路径分隔符startfile(filepath,operation)使用关联的应用程序打开指定文件或启动指定应用程序system()启动外部程序10.1 os模块 import os import os.path os.rename(C:dfg.txt,D:test2.txt)#rename()可以实现文件的改名和移动
3、 fname for fname in os.listdir(.)if fname.endswith(.pyc,.py,.pyw)#结果略 os.getcwd()#返回当前工作目录C:Python35 os.mkdir(os.getcwd()+temp)#创建目录 os.chdir(os.getcwd()+temp)#改变当前工作目录 os.getcwd()C:Python35temp os.mkdir(os.getcwd()+test)os.listdir(.)test os.rmdir(test)#删除目录 os.listdir(.)410.1 os模块 os.environ.get(pa
4、th)#获取系统变量path的值 import time time.strftime(%Y-%m-%d%H:%M:%S,#查看文件创建时间 time.localtime(os.stat(yilaizhuru2.py).st_ctime)2016-10-18 15:58:57 os.startfile(notepad.exe)#启动记事本程序510.1 os模块 例例10-1 使用递归法遍历指定目录下所有子目录和文件。from os import listdirfrom os.path import join,isfile,isdirdef listDirDepthFirst(directory
5、):深度优先遍历文件夹#遍历文件夹,如果是文件就直接输出#如果是文件夹,就输出显示,然后递归遍历该文件夹 for subPath in listdir(directory):path=join(directory,subPath)if isfile(path):print(path)elif isdir(path):print(path)listDirDepthFirst(path)610.2 os.path模块7方法方法功能说明功能说明abspath(path)返回给定路径的绝对路径basename(path)返回指定路径的最后一个组成部分commonpath(paths)返回给定的多个路径
6、的最长公共路径commonprefix(paths)返回给定的多个路径的最长公共前缀dirname(p)返回给定路径的文件夹部分exists(path)判断文件是否存在getatime(filename)返回文件的最后访问时间getctime(filename)返回文件的创建时间getmtime(filename)返回文件的最后修改时间getsize(filename)返回文件的大小10.2 os.path模块8方法方法功能说明功能说明isabs(path)判断path是否为绝对路径isdir(path)判断path是否为文件夹isfile(path)判断path是否为文件join(path,
7、*paths)连接两个或多个pathrealpath(path)返回给定路径的绝对路径relpath(path)返回给定路径的相对路径,不能跨越磁盘驱动器或分区samefile(f1,f2)测试f1和f2这两个路径是否引用的同一个文件split(path)以路径中的最后一个斜线为分隔符把路径分隔成两部分,以元组形式返回splitext(path)从路径中分隔文件的扩展名splitdrive(path)从路径中分隔驱动器的名称10.2 os.path模块 path=D:mypython_expnew_test.txt os.path.dirname(path)#返回路径的文件夹名D:mypyth
8、on_exp os.path.basename(path)#返回路径的最后一个组成部分new_test.txt os.path.split(path)#切分文件路径和文件名(D:mypython_exp,new_test.txt)os.path.split()#切分结果为空字符串(,)os.path.split(C:windows)#以最后一个斜线为分隔符(C:,windows)os.path.split(C:windows)(C:windows,)os.path.splitdrive(path)#切分驱动器符号(D:,mypython_expnew_test.txt)os.path.spli
9、text(path)#切分文件扩展名(D:mypython_expnew_test,.txt)910.3 shutil模块10方法方法功能说明功能说明copy(src,dst)复制文件,新文件具有同样的文件属性,如果目标文件已存在则抛出异常copy2(src,dst)复制文件,新文件具有原文件完全一样的属性,包括创建时间、修改时间和最后访问时间等等,如果目标文件已存在则抛出异常copyfile(src,dst)复制文件,不复制文件属性,如果目标文件已存在则直接覆盖copyfileobj(fsrc,fdst)在两个文件对象之间复制数据,例如copyfileobj(open(123.txt),op
10、en(456.txt,a)copymode(src,dst)把src的模式位(mode bit)复制到dst上,之后二者具有相同的模式copystat(src,dst)把src的模式位、访问时间等所有状态都复制到dst上copytree(src,dst)递归复制文件夹disk_usage(path)查看磁盘使用情况move(src,dst)移动文件或递归移动文件夹,也可以给文件和文件夹重命名rmtree(path)递归删除文件夹make_archive(base_name,format,root_dir=None,base_dir=None)创建tar或zip格式的压缩文件unpack_arc
11、hive(filename,extract_dir=None,format=None)解压缩压缩文件10.3 shutil模块下面的代码演示了如何使用标准库shutil的copyfile()方法复制文件。import shutil#导入shutil模块 shutil.copyfile(C:dir.txt,C:dir1.txt)#复制文件下面的代码将C:Python35Dlls文件夹以及该文件夹中所有文件压缩至D:a.zip文件:shutil.make_archive(D:a,zip,C:Python35,Dlls)D:a.zip下面的代码将刚压缩得到的文件D:a.zip解压缩至D:a_unpa
12、ck文件夹:shutil.unpack_archive(D:a.zip,D:a_unpack)下面的代码使用shutil模块的方法删除刚刚解压缩得到的文件夹:shutil.rmtree(D:a_unpack)1110.3 shutil模块 下面的代码使用shutil的copytree()函数递归复制文件夹,并忽略扩展名为pyc的文件和以“新”字开头的文件和子文件夹:from shutil import copytree,ignore_patterns copytree(C:python35test,D:des_test,ignore=ignore_patterns(*.pyc,新*)1210.
13、4 综合案例解析例例10-2 把指定文件夹中的所有文件名批量随机化,保持文件类型不变。from string import ascii_lettersfrom os import listdir,renamefrom os.path import splitext,joinfrom random import choice,randintdef randomFilename(directory):for fn in listdir(directory):#切分,得到文件名和扩展名 name,ext=splitext(fn)n=randint(5,20)#生成随机字符串作为新文件名 newNam
展开阅读全文