《python编程入门经典》学习笔记–第八章(一)

来源:互联网 发布:不可抗力网络剧百度云 编辑:程序博客网 时间:2024/06/17 07:29

第八章的内容是文件和目录

8.1、文件对象

8.1.1用字符串对象来存储创建和访问示例文件的路径

牢记注意windows和linux的路径斜杠的不同。比如:windows下面C:\windows\Temp,Linux下/home/qizhf/,同时反斜杠在字符串中是一个特殊字符,是转义字符。关于转义字符,在初学C时遇到过,并且貌似关于转义字符的定义,各个语言都相同。因此,在windows下,路径C:\windows\Temp必须表示为“C:\\windows\\Temp”,记得刚开始工作时编的程序在此处出过BUG。python中还可以这样通过在开头的引号钱放置字母r,取消字符串中对反斜杠的特殊处理。

>>>path = ” C:\\sample.txt”

或者

>>>path = r”C:\sample.txt”

linux下

>>>path = “/tmp/sample.txt”

8.1.2、编写文本文件。

流程和C很像,需要先打开,指定打开的模式,再读或者写,最后关闭文件,主要是因为操作系统设计打开文件的过程也是这样吧。注意需要加载操作系统模块 用语句import os

打开一个文件:file = open(‘test.txt’, “w”)

open(路径名,打开模式)

打开模式有 w:写文件,如果文件不存在,就创建之;

r:读文件,默认参数,可以省略。

a:向从文件的结尾处追加数据。

向文件中写入数据:file.write(“xxxxxxxxxxxxxxxxxxxxxxx”)

关闭文件:file.close()

注意:相对路径和绝对路径

读出一行文件:file.readline()

一次性读出文件中的所用内容file.read()

疑问:P118,说当完成读操作时,删除文件对象并关闭文件。我怎么觉得应该先关闭文件,再删除文件对象。

8.1.3文件异常IOError异常。

异常的情况包括哪些。

8.2、 路径和目录

注意垮平台时如何解决各个操作系统的目录表示不一样。

8.3、OS中的异常 OSError

8.3.1路径

模块0s中包含另一个模块os.path,提供路径操作函数。路径也是字符串,可以按字符串进行个各种操作,产生的问题是:不易移植和处理特殊情况困难。使用os.path为了解决这些问题。

os.path.join()可以将目录名称组合成路径。注:可以指定多于两个的名称。

os.path.split()具有相反功能,它将路径的最后一个组件提取出来。该函数返回包含两个想的元组:父目录的路径以及最后一个路径组件。自动分解序列:

>>>parent_path , name = os.path.split(“C:\\Program Files\\Python30\\Lib”)

疑问:P121函数split_fully(path)无法正常运行,问题出在最后一句,没搞明白。

注意python特有的数据元组,列表,词典。

os.path.splitext()分解文件的扩展名。此函数返回一个包含两个元素的元组。

os.path.normpath()规范化或“清理”路径。

os.path.abspath()可以将一个相对路径变为一个绝对路径。

注意:os.path下面的所用路径操作函数都不检查正在操作的路劲是否存真正存在,需要自己编写检测代码。

os.path.exists()判断某个路劲是否实际存在。此函数返回True或者False

8.3.2 目录内容

”.“ 代表当前目录,”..”代表当前目录的父目录。

os.listdir()可以返回一个目录下的所用名称条目,包括文件和子目录等内容。

练习例子,此函数列出某个目录中的内容:

def print_dir(dir_path):      for name in os.listdir(dir_path):         print(os.path.join(dir_path, name))

本文固定链接: http://www.51bigfool.com/python8.html | 大憨