'''
open(文件的路径,打开文件的方式,打开的文件编码)
文件的路径:
可以使用绝对路径,也可以使用相对路径 建议使用相对路径
打开文件的方式
访问文件的方式
r ---只读方式打开文件,文件的执政会放在文件开头,如果文件不存在就会报错
w ---打开一个文件只用于写入,如果这个文件已存在,就将文件替换,如果文件不存在,创建文件
a ---打开一个文件用于追加,文件存在的话 文件执政会放在文件的结尾,如果文件不存在创建文件
r+ ---打开一份文件进行读写 文件的执政将会放在文件的开头
w+ ---打开一个文件进行读写 如果这个文件已存在,将文件替换,如不存在,创建新文件
a+ ---打开一个文件进行读写 文件存在的话 文件指针会放在文件的结尾 ,如文件不存在创建新文件
rb ---以二进制形式打开只读方式打开文件,文件的执政会放在文件开头,如果文件不存在就会报错
wb ---以二进制形式打开打开一个文件只用于写入,如果这个文件已存在,就降文件替换,如果文件不存在,创建文件
ab ---以二进制形式打开打开一个文件用于追叫,文件存在的话 文件指针会放在文件的结尾,如果文件不存在创建文件
rb+ ---以二进制形式打开打开一份文件进行读写 文件的指针将会放在文件的开头
wb+ ---以二进制形式打开打开一个文件进行读写 如果这个文件已存在,将文件替换,如不存在,创建新文件
ab+ ---以二进制形式打开打开一个文件进行读写 文件存在的话 文件指针会放在文件的结尾 ,如文件不存在创建新文件
以二进制形式操作文件时,不要设置文件的编码方式
'''
'''
读取的方式
read() ---一次性全部读取
read(size)---如果模式是以字符形式打开文件的 这个size便是的时读取子的的个数
---如果模式时以字节[二进制]形式打开的 这个size表示的时读取字节大小
readline()---读取一行数据
readlines()---读取所有行数据,并吧每一行当着元素放在列表中
读取内容时,不会重复读取--类似迭代器
与文件进行交互完毕关闭通道---不管是否出现异常-通道都需关闭
读取文件
目录结构
1 #建立与文件之间的通道
2 file_path = r'../test_01/os.py'
3
4 #以字符形式打开一个文件 用于只读
5 handle = open(file_path,'r',encoding='utf-8')
6
7
8
9 #打开文件 文件指针的默认位置是开头
10 #移动文件指针
11 handle.seek(2)
12
13 #读取数据2字节数
14 data =handle.read(2)
15 print(data)
16 #
17 data =handle.read(10)
18 print(data)
19 '''
20 po
21 rt os
22
23 #获取
24 '''
25 #读取一行数据
26 #已换行行为结束点的位置叫做一行
27 line_data = handle.readline()
28 print(line_data)
29
30 #读取所有行
31 line_data = handle.readlines()
32 print(line_data)
33
34 #以只读形式打开
35 handle = open(r'../test_01/os.py', "r", encoding='utf-8')
36
37 #以二进制方式读取
38 handles = open(r'../test_01/os.py','rb')
39
40 #通过通道读取数据
41 data =handle.read()
42 print(data)
43
44 data1 =handles.read()
45 print(data)
46 print(data1)
47
48 #关闭通道
49 handle.close()
写入文件与追加内容
'''
write(content)---如果模式是以字符形式打开文件的 这个content表示的是字符串数据
---如果模式时以字节[二进制]形式打开的 这个content表示是字节数据
writelines(容器)---如果模式是以字符形式打开文件的 这个容器是字符串数据
---如果模式时以字节[二进制]形式打开的 这个容器中的数据是字节数据
'''
追加内容"w"改为'a'
1 file_path =r'.. est est.txt'
2
3 #建立与文件之间的通道
4 handle = None
5 try:
6 #文件存在会被清空
7 handle = open(file_path,'w',encoding='utf-8')
8 handle.write('啦啦啦')
9 #写入多行数据需加换行符
10 handle.writelines(['lkekekek
','hjshshshs
','啦啦啦啦啦
'])
11 handle.flush()
12
13 except Exception as e:
14 print(f'出现异常,异常情况是{e}')
15
16 finally:
17 if handle:
18 handle.close()
19 handle = None