程序在运行的时候,数据存在内存的变量里面。内存中的数据在程序结束或者关机后就会被擦除,如果想下次开机的时候还想继续使用这些数据就需要将这些数据存储再不容易丢失的存储介质上,Python提供了非常方便的数据存储,读,写,以及打开和关闭文件的方法。
一.文件
简单的说,文件就是由字节组成的信息,在逻辑上有完整意义,通常可以在磁盘上永久保存。Windows系统的数据文件按照编码方式分为两大类:文本文件和二进制文件。文本文件在任何情况下应该都是可读的,二进制文件需要自己的处理程序才能打开并操作。
二.文件的访问
2.1 打开(建立)文件
在Python中要访问文件,必须打开Python Shell 和磁盘上文件直间的连接。Python上提供open() 函数来打开函数:
fileObj = open(filename[,mode[,buffering]])
其中fileObj是open()函数的返回的文件对象,参数filename文件名是必须填写的参数,它可以是绝对路径,也可以是相对路径,模式(mode)和缓冲(buffering)是可选的。
mode是指明文件类型和操作的字符串,可以使用下面的属性:
值 | 描述 |
‘r’ | 读模式,如果文件不存在,则发生异常 |
'w' | 写模式,如果文件不存在则新建文件再打开,如果文件存在,则先清空文件再打开 |
'a' | 追加模式,如果文件不存在,则新建文件再打开,如果文件存在,则打开文件后将新的内容追加至原内容之后 |
'b' | 二进制模式,可以添加到其他模式中使用,比如'rb'二进制读文件,'wb'二进制写文件 |
'+' | 读/写模式,可以添加到其他模式中使用 |
file = open('test.txt', 'rb') #二进制读文件
file = open('test.txt', 'wb') #二进制写文件
2.2 读取文本文件
1.read()方法
调用read()方法读取test.txt文件内容
file = open("d:\\python\\test.txt")
fileContent = file.read()
file.close
print(fileContent)
2. readline()方法
readline()方法从文件中获取一个字符串,每个字符串就是文件中的每一行(需要注意的是readline()方法读取的吗每一行会在自动在字符串后面添加一个换行符\n)可以采用切片的方法去除自动添加的换行符,代码如下:
file = open("d:\\python\\test.txt")
fileContent = file.readline()
fileContent = fileContent[:len(fileContent)-1]
file.close()
print(fileContent)
3.readlines()方法
readlines()方法返回一个字符串的列表,其中每一项是文件中每一行的字符串。
2.3 写文本文件
写文件和读文件相似,都需要先创建文件对象链接,不同的是,打开文件是以‘写’的方式或‘添加’的模式打开,文件要是不存在则先创建文件。
write()方法写文件
file = open("d:\\python\\test.txt","w")
file.write("first line. \n second line \n")
file.close()