文件的使用
1、文件的类型
文件包括文本文件和二进制文件两种类型。
文本文件一般是由特殊编码的字符组成,如UTF-8编码模式,可以看成是一个存储在磁盘上的长长的字符串。
二进制文件由0,1所组成,没有统一的字符编码,只能当做字节流。
无论文件创建为文本文件还是二进制文件,都可以用“文本文件”和“二进制文件”的形式打开。
在Python中对文件的操作步骤分为“打开——操作——关闭”这三个步骤。
2、文件的打开
Python主要通过open()函数打开文件。
<变量名> = open(<文件名>,<打开模式>)
<文件名>这个参数没有什么需要继续说的,open的<打开模式>参数有7种。使用字符串的形式表示。
参数 | 意义 |
---|---|
r | 只读模式打开,不能进行修改操作 |
w | 覆盖写,以最新的为准 |
x | 创建新文件 |
a | 在原文件的最后追加内容 |
t | 文本文件模式,默认 |
+ | 与r/w/a/x一起使用,同时读写 |
比较常用的参数组合形式。
(1)读入并修改文件。
#读入并修改文件
f = open("test.txt","r+")
(2)以文本的形式创建一个空文件,写入新的内容,并保存为新文件。
#创建一个新的文件,并写入
f = open("test.txt","w")
(3)打开一个文件,在其后追加内容。
#在打开的文件后追加
f = open("test2.txt","a+")
3、文件的处理——读
(1)一次性读入文件全部内容,将文件以“字符串”的形式返回结果。
方法:f.read()
(2)一次性读入文件全部内容,将文件以“列表”的形式返回结果,每一个元素是文件的一行。
方法:f.readlines()
(3)使用遍历循环(for循环),逐行读取文件内容
方法:f.readline() 注意与上面的readlines()的区分。
#方法一:
#f为读入的全部文件
f = open("test.txt","r+")
s= f.readlines() #s是一个列表数据类型
for line in s:
print(line)
#方法二:
f = open("test.txt","r+")
s1 = f.readline() #读取第一行,以“/n”符合分隔,作为一行
s2 = f.readline() #读取第二行,这个过程中读取指针产生变化
注:在文件读取的过程中,读取指针会发生改变。当读取文件结束之后,读取指针会在最后,如果想要重新调整指针,可以使用函数f.seek()进行调整。调整之后,程序将从指针之后再次读取内容。
方法:f.seek(offset),当offset=0的时候,在文件开头。当offset=2的时候,在文件结尾。
4、文件的处理——写(如果要进行写操作的话,在打卡的)
(1)写入一个字符串
f.write(s) #s为要添加的字符串
(2)写入列表(列表的每一个元素为字符串)
f.writelines(s) #s为元素为字符串的列表
5、文件的关闭
文件使用结束之后,要使用close()函数关闭,解除占用。
<变量名>.close()
二、实例
#打开一个文件名为“test.txt”的文本文件
#在打开文件之前,一般需要设定工作空间。Python中使用os包来修改工作目录。
import os
os.chdir("E:\\S-code\\Pythoncode") #设定新的工作目录,test.txt文件要存放在这个工作目录下
os.getcwd() #查看现在的工作目录
'E:\\S-code\\Pythoncode' #显示的是我们最新设定的,就代表设定成功
f = open("test.txt","rt") #test.txt为文件名,rt为读取文件的方式
s = f.readlines() #读取文件,输出结果为一个列表
for line in s:
print(line)
f.close()