内容正文:
第7章 文件
Chap7 Files
Nanjing University
1
程序中的数据
2
or
a 23 D
Python
Nanjing University
2
文件基本概念
7.1
3
Python
Nanjing University
文件基本概念
文件:存储在某种介质上的信息集合
存储:外部介质
识别:文件名
分类
存取方式:顺序存取,随机存取
文件内容表示方式:二进制文件,文本文件
4
Python
Nanjing University
7.1.1 Python文件系统
5
Python
Nanjing University
二进制文件与文本文件
Python
Nanjing University
二进制文件与文本文件
文本形式输出时
一个字节与一个字符一一对应
便于对字符进行逐个处理,也便于输出字符;
占存储空间较多;
要花费转换时间。
用二进制形式输出时
可节省外存空间和转换时间
一个字节并不对应一个字符,不能直接输出字符形式。
可读性差,常用于保存中间结果数据和运行程序。
Python
Nanjing University
二进制文件与文本文件
Python中可以处理二进制文件以及文本文件,对二进制文件的操作可以选择是否使用缓冲区
缓冲区是内存中的区域,当程序中需要进行频繁的文件读写操作时,使用缓冲区可以减少I/O操作从而提高效率,也方便管理
文本文件均使用缓冲区处理
8
Python
Nanjing University
8
7.1.2 文件的使用过程
9
Python
Nanjing University
文件的使用过程
文件读写
打开文件
open
关闭文件
close
read/write
Python
Nanjing University
文件的打开和关闭
7.2
11
Python
Nanjing University
7.2.1 文件的打开
12
Python
Nanjing University
文件的打开
13
>>> f1 = open('d:\\infile.txt')
>>> f2 = open('d:/outfile.txt', 'w')
>>> f3 = open('frecord.csv', 'ab', 0)
Source
file_obj = open(filename, mode='r', buffering=-1)
mode为可选参数,默认值为r
buffering也为可选参数,默认值为-1(0代表不缓冲,1或大于1的值表示缓冲一行或指定缓冲区大小)
其他常用参数:encoding(指定编码字符集)
open()函数返回一个文件(file)对象
Python
Nanjing University
13
open()函数-mode
模式 功能Function
r 以读模式打开,文件必须存在
w 以写模式打开,若文件不存在则新建文件,否则清空原内容
x 以写模式打开,若文件已经存在则失败
a 以追加模式打开,若文件存在则向结尾追加内容,否则新建文件
r+ 以读写模式打开
w+ 以读写模式打开(清空原内容)
a+ 以读和追加模式打开
rb 以二进制读模式打开
wb 以二进制写模式打开(参见w)
ab 以二进制追加模式打开(参见a)
rb+ 以二进制读写模式打开(参见r+)
wb+ 以二进制读写模式打开(参见w+)
ab+ 以二进制读写模式打开(参见a+)
14
Python
Nanjing University
14
标准文件
当程序启动后,以下三种标准文件有效
stdin
标准输入
stdout
标准输出
1
2
3
stderr
标准错误
15
>>> newcName = input('Enter the name of new company: ')
Enter the name of new company: Chaolihai
>>> print(newcName)
Chaolihai
Source
Python
Nanjing University
15
7.2.2 文件的关闭
16
Python
Nanjing University
关闭文件
fp.close()
fp为文件对象
切断文件对象与外存储器中文件之间的联系
17
>>> fp = open(r'd:
file.txt', 'r')
>>> type(fp)
<class '_io.TextIOWrapper'>
>>> fp.name
'd:\
file.txt'
>>> fp.mode
'r'
>>> fp.closed
False
>>> fp.close()
>>> fp.closed
True
Source
Python