一、理论部分
- 文件是数据的抽象和集合,是数据存储的一种形态
- 文件的展现形态:文本文件和二进制文件
- 由单一特定编码组成的文件就是文本文件,比如UTF-8编码。也可以被看成存储着的长字符串。Windows下的.txt文件、.py文件都是文本文件。但文本文件在底层也是二进制存储的(计算机中全是二进制),因此也可以通过二进制打开方式打开文本文件
- 二进制文件直接由0、1组成,没有统一的字符编码,一般存在一定的组织结构,即文件格式。如.png文件、.avi文件
- 在python中打开文件,需要用到
open()函数
,文件使用完毕后用close()函数
关闭文件 - 举一个简单的实例,在程序同目录下(即与.py文件相同的目录)以文本文件格式、文件名ff.txt保存一句话中国是一个伟大的国家!,然后执行以下代码:
tf = open("ff.txt", "rt", encoding='utf-8') #"rt"表示以文本文件格式打开,encoding='utf-8'指明编码形式,用以打开中文文件
print(tf.readline()) #从文本中读出一行并输出
tf.close()
output:
中国是一个伟大的国家!
- 若要以二进制格式打开只需将
"rt"
改为"rb"
- 打开文件后,接下来就可以读文件或写文件了
二、练习题
1、打开中文字符的文档时,会出现乱码,Python自带的打开文件是否可以指定文字编码?还是只能用相关函数?
答 自带的打开文件可以指定文字编码,只需将open()函数
的encoding参数
设置为'utf-8'
即可
f = open('你好,世界!.txt', 'r', encoding='UTF-8')
2、编写程序查找最长的单词
输入文档: res/test.txt
题目说明:
""" Input file test.txt Output file ['general-purpose,', 'object-oriented,'] """ def longest_word(filename): # your code here pass
(未完待续。。。)