Python大学教程(第2版) 课件 第10章 文件处理.pptx
;目录;10.1;文件的创建与读写;10.1.1文件的创建与打开;10.1.1文件的创建与打开;10.1.1文件的创建与打开;10.1.1文件的创建与打开;10.1.2文件的写入;10.1.2文件的写入;10.1.2文件的写入;10.1.3文件的读取;10.1.3文件的读取;10.1.3文件的读取;10.1.3文件的读取;10.1.3文件的读取;10.1.4设置文件读取指针;10.2;10.2文件和目录操作;;;;;10.2.1文件操作;10.2.1文件操作;10.2.2目录操作;10.2.2目录操作;10.2.3文件和目录操作实例;程序首先用listdir函数获取当前目录下的所有内容列表,然后遍历每一个文件的文件名,使用find函数获取“.”号位置,判断扩展名是否为“.py”并进行替换。使用find函数获取后缀名位置的过程也可以用os.path模块下的splitext来实现。splitext函数返回一个列表,列表第一个元素表示主文件名,第二个元素表示后缀名。
另外,glob模块可以用来进行路径的匹配,返回符合给定匹配条件的文件列表。使用glob函数可以代替代码清单10-6中获取所有文件并判断后缀名的过程。glob函数可以对路径做更多的带有通配符的匹配,这里不再详述。
使用splitext函数和glob函数可以对代码清单10-6进行改写。经过改写的程序如代码清单10-7所示。;30;10.2.3文件和目录操作实例;10.2.3文件和目录操作实例;10.2.3文件和目录操作实例;
代码清单10-8showDiff.py
1 importdifflib
2 importpprint
3
4 text1=open(text1.txt,r).readlines() #读取text1.txt
5 text2=open(text2.txt,r).readlines() #读取text2.txt
6 d=difflib.Differ() #创建Differ类对象
7 result=list(pare(text1,text2)) #比较文件
8 pprint.pprint(result) #输出结果;
【输出结果】
[1.Beautifulisbetterthanugly.\n,
-2.Explicitisbetterthanimplicit.\n,
-3.Simpleisbetterthancomplex.\n,
+3.Simpleisbetterthancomplex.\n,
?++\n,
-4.Complexisbetterthancomplicated.,
?^----^\n,
+4.Complicatedisbetterthancomplex.\n,
?++++^^+\n,
+5.Flatisbetterthannested.]
代码第8行使用了pprint模块的pprint函数来更加漂亮地打印出这个字符串列表。从输出结果中我们可以详细地看到两个文件的差异。;10.2.3文件和目录操作实例;10.2.3文件和目录操作实例;10.2.3文件和目录操作实例;10.2.3文件和目录操作实例;10.3;10.3Python的流对象;;10.3.2标准输出;10.3.3日志输出;10.4;10.4实例:处理文件;10.4实例:处理文件;10.4.2实例:获取MP3文件的元数据;小结;习题;习题;谢谢观看