文件
文件:被持久化存储在磁盘上的字符串。
文件分为文本文件和二进制文件,它们都是由字节组成的信息,通常保存在存储介质(如硬盘、U盘)
文本文件都是可读的,比如可以通过文本编辑器直接打开或者在浏览器中显示。
二进制文件除了文本文件之外的都是二进制文件,比如图片、Word文档,如果通过文本编辑器打开,会看到类似乱码一样的内容,不是可独字符。
文件的操作基本流程:打开—>操作—>关闭
打开用open()函数 open()函数用于读写文件
open()的参数依次是要打开的文件名,打开的方式’r’(读);文件对象名为f;通过for进行便利操作,对文件对象进行遍历时,每次读取一行;最后用close()方法关闭文件对象。
#fileTest_r.py
f = open("tmp.txt",'r')
for line in f:
print('=>',line)
f.close()
读操作:将文件中的字符串加载进内存。
写操作:将字符串写入到磁盘中的操作
open()函数用于操作文件,使用方式为:
open(file , mode)
file:文件的路径,需带上文件名包含文件的后缀名(绝对路径或者相对路径)
例如:r"D:\test\hello.txt"
r:强制不转义
绝对路径:例如"D"盘符
相对路径:当前目录开始的文件 …\:上上层目录
mode:打开文件的方式(一般为r,w,a,b,另外有r+,w+,a+)
r(只读模式):文件以自读方式打开,文件指针放在文件开头【使用open操作文件时,没用给出对应mode,会默认为r(自读模式)】。
w(只写模式):文件以写模式打开,如果目标文件不存在时,会自动创建一个相对应文件,当文件存在时,会覆盖原文件中的内容,不在创建一个新文件。
a(追加模式):文件不存在时,会创建文件,当文件存在时,会在原文件中追加内容,追加的新内容在文件结尾处。(追加模式下文件拥有写方法的读方法)
f = open("路径 r"D:\python\test1.txt",encoding = "utf-8",mode = "r") #mode="r"默认模式
print(f.read()) #指定字符长度
f.close()
encoding:指定open函数在读写文件时使用的字符集。
open()函数在windows上默认为gbk字符集,在Linux上默认为utf-8,notepad++默认字符集utf-8
open函数执行后返回一个文件对象。
文件中的换行也占一个字符,使用"\n"表示
文件读取有三个方法:read(),readline(),readlines()
文件对象read()方法默认将文件中的所有字符串读取到内存,也可根据字符个数读取 read(n) n表示字符个数
readline() 按行读取数据
readline() 将所有数据按行存放到列表中
文件写入
以“r”模式打开的文件相当于只读,是不能写入的,如果打开的文件不存在,还会报错。要想向文件写入数据则需要其他模式的参数
“w”,“a”都是可以写入的模式,并且若文件不存在不会报错,而是直接创建一个。
文件对象写入的方法也有三个:write() ,writeline(), writelines()
write()一次写入指定字符串,如果希望是多行数据,则需要在字符串中通过转义字符控制所有格式。
writeline()写入的内容会作为一行,每执行一次增加一行。
writelines()的参数是一个元素为字符串的集合,通常会用到元组或列表,每个元素都要是字符串。