文件编码
将文件的内容翻译为二进制
文件操作
打开文件 open函数
语法:
open(name, mode, encoding)
 
name:文件名的字符串,可以包含具体路径。若没有路径,则默认为与py文件位于同一层
mode:打开文件的模式:只读、写入、追加等
encoding:编码格式,常用UTF-8。注意encoding不是第三个参数
 

通过open函数会得到一个文件对象
f = open("test.txt", 'r', encoding='UTF-8')# encoding使用关键字传参
# 以只读方式打开test.txt,得到一个文件对象
 
读取文件 r模式
test.txt:
hello world
hhhh
abandon
 
注意:若多次读取文件,则会从上次读取的末尾位置开始读取数据。
 
 ① read()方法:
文件对象.read(num)
 
num表示读取的长度,单位为字节。若没有num,则代表全部读取。注意’\n’占一个字节
 读取到的数据类型为str
data=f.read()
print(data)
 
输出:
hello world
hhhh
abandon
 
② readlines()方法:
文件对象.readlines()
 
按照行的方式把整个文件中的内容进行一次性读取,并且返回一个列表。其中每行元素为一个元素。
data=f.readlines()
print(data) # ['hello world\n', 'hhhh\n', 'abandon']
 
③ readline()方法
文件对象.readline()
 
调用一次,读取一行。注意,一行中会包含’\n’。读取到的数据类型为str。
data = f.readline()
print(data)
data = f.readline()
print(data)
data = f.readline()
print(data)
 
输出:
hello world
hhhh
abandon
 
④ for循环读取文件
 利用for循环读取文件的每一行数据。
for line in f:
	print(line)
 
关闭文件 close()
若不关闭文件,程序运行时,该文件会被Python程序一直占用。
文件对象.close()
 
with open 语法
通过在 with open的语句块中对文件进行操作。在操作结束后,会自动close文件。防止忘记关闭文件。
with open("test.txt", "r", encoding="UTF-8") as f:
	f.read()
 
文件写入 w模式
打开文件 open()方法 --> 写入文件 write()方法 --> 刷新文件 flush()方法
 open()打开文件
f = open("test.txt", "w")# 以写入模式打开
 
注意:若test.txt不存在,则会新建一个test.txt文件。
write(data) 写入文件:
f.write(data)
 
flush() 刷新文件:
 调用write方法时,数据并没有直接写入文件,而是存放到缓冲区中。
 只有调用了 flush() 方法,数据才会真正地写入文件。
 可以避免频繁地写入磁盘
 而close()方法内置了flush功能。
注意:由于是以 “w”写入模式打开,因此写入的数据会覆盖文件中原有的数据,将原有数据清空。
追加写入 a模式
与写入模式基本一致,只是写入数据时,不会清空原有的数据,而是在末尾追加数据。
 打开文件 open() --> 写入数据 write() --> 刷新文件 flush()
 打开文件
f=open("test.txt", "a")# 以追加模式打开
 
若文件不存在,则会创建新文件。
写入文件 write()
f.write(data)# 在末尾追加数据
                








![# [0701] Task05 策略梯度、Actor-critic 算法](https://img-blog.csdnimg.cn/direct/a0a9570463e4479bb862d2edf0690624.png)









