网站大量收购闲置独家精品文档,联系QQ:2885784924

操作系统课程实验报告-实验六--文件系统.docxVIP

操作系统课程实验报告-实验六--文件系统.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
华南理工大学操作系统课程实验报告实验题目: 实验六--文件系统 姓名: 余柳红 学号: 201330571011班级: 信息安全 组别: 无 合作者: 无 指导教师: 贺小箭实验概述【实验目的及要求】??加深对linux文件系统的理解。实现一个“difftree”命令,其功能是比较两个目录下的文件结构和文件信息。当在命令行方式下执行“difftree?dir1?dir2”命令时,能够比较目录dir1和?目录dir2是否具有相同的结构,对相同的部分,进一步比较相同文件名的文件内容。列出比较的文件系统结构图。本实验是对单个文件比较的扩展,设计中需要考虑目录操作。【实验原理】? 参照linux系统下的diff命令,实现实验要求的“difftree”命令,使用python来写.【实验环境】?硬件环境:宏碁笔记本电脑,i5系列,型号为Aspire E1 -471G软件环境:Ubuntu14.04麒麟版操作系统?实验内容【实验方案设计】?实验源代码:#!/usr/bin/env python#encoding=utf-8from __future__ import print_functionimport osimport os.pathimport sysimport commandsdef Usage(): print(Usage : {0} dir1 dir2.format(sys.argv[0]))def diffDir(dir1, dir2): files = [ os.listdir(dir1), #使用os.listdir()函数来获得目录中的相关内容 os.listdir(dir2), ] sameFileHierarchy = [] #用来保存层级结构 filesCompareOutput = [] #用来保存文件diff结果 for name in files[0]: if name in files[1]: #在两个文件夹下都有相同名字的文件 subname = [ os.path.join(dir1, name), os.path.join(dir2, name), ] if ( os.path.isdir(subname[0]) and os.path.isdir(subname[1]) ): # 同名文件是文件夹 #print(Comparing `{0}` 和 `{1}`.format(subname[0], subname[1])) # 递归调用 diffDir 找出两个子文件夹的层级结构 subFileHierarchy, subCompareOutput = diffDir(subname[0], subname[1]) # 合并结果 filesCompareOutput += subCompareOutput sameFileHierarchy.append(({0}.format(name), subFileHierarchy)) elif ( os.path.isfile(subname[0]) and os.path.isfile(subname[1]) ): # 同名文件是文件夹 output = commands.getoutput(diff {0} {1}.format(subname[0], subname[1])) filesCompareOutput.append( {0}\n对比:\n `{1}` 和 `{2}`\n{0}\n{3}\n.format( *20, subname[0], subname[1], output )) sameFileHierarchy.append(name) return sameFileHierarchy, filesCompareOutputdef PrintHierarchy(hierarchy, level=0): 打印文件层级结构 if len(hierarchy) == 0: print( *(level+1)*3 + No same file!) return for item in hierarchy: if isinstance(item, tuple): print( *level*3 + + item[0] + /) PrintHierarchy(item[1], level+1) else: print( *level*3 + + item)if __name__ == __main__: if len(sys.argv) != 3: Usage() exit(1) hierarchy, filesCompareOutput = diffDir(sys.ar

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档