欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    (4.10)--第10章 文件与文件夹操作.ppt

    • 资源ID:96342710       资源大小:69.18KB        全文页数:13页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    (4.10)--第10章 文件与文件夹操作.ppt

    第10章 文件与文件夹操作110.1 os模块2方法方法功能说明功能说明chdir(path)把path设为当前工作目录getcwd()返回当前工作目录listdir(path)返回path目录下的文件和目录列表remove(path)删除指定的文件,要求用户拥有删除文件的权限,并且文件没有只读或其他特殊属性rename(src,dst)重命名文件或目录,可以实现文件的移动,若目标文件已存在则抛出异常,不能跨越磁盘或分区startfile(filepath,operation)使用关联的应用程序打开指定文件或启动指定应用程序system()调用外部程序10.1 os模块如果需要遍历指定目录下所有子目录和文件,可以使用递归的方法。from os import listdirfrom os.path import join,isfile,isdirdef listDirDepthFirst(directory):深度优先遍历文件夹#遍历文件夹,如果是文件就直接输出#如果是文件夹,就输出显示,然后递归遍历该文件夹 for subPath in listdir(directory):path=join(directory,subPath)if isfile(path):print(path)elif isdir(path):print(path)listDirDepthFirst(path)310.2 os.path模块4方法方法功能说明功能说明abspath(path)返回给定路径的绝对路径basename(path)返回指定路径的最后一个组成部分commonpath(paths)返回给定的多个路径的最长公共路径commonprefix(paths)返回给定的多个路径的最长公共前缀dirname(p)返回给定路径的文件夹部分exists(path)判断文件是否存在getatime(filename)返回文件的最后访问时间getctime(filename)返回文件的创建时间getmtime(filename)返回文件的最后修改时间getsize(filename)返回文件的大小10.2 os.path模块5方法方法功能说明功能说明isabs(path)判断path是否为绝对路径isdir(path)判断path是否为文件夹isfile(path)判断path是否为文件join(path,*paths)连接两个或多个pathrealpath(path)返回给定路径的绝对路径relpath(path)返回给定路径的相对路径,不能跨越磁盘驱动器或分区samefile(f1,f2)测试f1和f2这两个路径是否引用的同一个文件split(path)以路径中的最后一个斜线为分隔符把路径分隔成两部分,以元组形式返回splitext(path)从路径中分隔文件的扩展名splitdrive(path)从路径中分隔驱动器的名称10.3 shutil模块6方法方法功能说明功能说明copyfile(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_archive(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_unpack文件夹:shutil.unpack_archive(D:a.zip,D:a_unpack)下面的代码使用shutil模块的方法删除刚刚解压缩得到的文件夹:shutil.rmtree(D:a_unpack)710.4 精彩案例赏析示例示例10-1 把指定文件夹中的所有文件名批量随机化,保持文件类型不变。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)#生成随机字符串作为新文件名 newName=.join(choice(ascii_letters)for i in range(n)#修改文件名 rename(join(directory,fn),join(directory,newName+ext)randomFilename(C:test)810.4 精彩案例赏析示例示例10-2 编写程序,统计指定文件夹大小以及文件和子文件夹数量。本例属于系统运维范畴,可用于磁盘配额的计算,例如email、博客、FTP、快盘等系统中每个账号所占空间大小的统计。import ostotalSize=0fileNum=0dirNum=0910.4 精彩案例赏析def visitDir(path):global totalSize global fileNum global dirNum for lists in os.listdir(path):sub_path=os.path.join(path,lists)if os.path.isfile(sub_path):fileNum=fileNum+1#统计文件数量 totalSize=totalSize+os.path.getsize(sub_path)#统计文件总大小 elif os.path.isdir(sub_path):dirNum=dirNum+1#统计文件夹数量 visitDir(sub_path)#递归遍历子文件夹1010.4 精彩案例赏析def main(path):if not os.path.isdir(path):print(Error:,path,is not a directory or does not exist.)return visitDir(path)def sizeConvert(size):#单位换算 K,M,G=1024,1024*2,1024*3 if size=G:return str(size/G)+G Bytes elif size=M:return str(size/M)+M Bytes elif size=K:return str(size/K)+K Bytes else:return str(size)+Bytes1110.4 精彩案例赏析def output(path):print(The total size of+path+is:+sizeConvert(totalSize)+(+str(totalSize)+Bytes)print(The total number of files in+path+is:,fileNum)print(The total number of directories in+path+is:,dirNum)if _name_=_main_:path=rd:idapro6.5plus main(path)output(path)1210.4 精彩案例赏析示例示例10-3 编写程序,递归删除指定文件夹中指定类型的文件和大小为0的文件。from os.path import isdir,join,splitextfrom os import remove,listdir,chmod,statfiletypes=(.tmp,.log,.obj,.txt)#指定要删除的文件类型def delCertainFiles(directory):if not isdir(directory):return for filename in listdir(directory):temp=join(directory,filename)if isdir(temp):delCertainFiles(temp)#递归调用 elif splitext(temp)1 in filetypes or stat(temp).st_size=0:chmod(temp,0o777)#修改文件属性,获取删除权限 remove(temp)#删除文件 print(temp,deleted.)delCertainFiles(rC:test)13

    注意事项

    本文((4.10)--第10章 文件与文件夹操作.ppt)为本站会员(奉***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开