通过open方法打开文件,就需要在不用时进行close(),即:关闭文件,有另外一种文件打开方式,它无需进行关闭文件,它会自动在你不使用文件的时候直接关闭文件,那就是 : with open (file_name,[,access_mode]) as f:
一 . with open 打开单个文件:
1. 读取单个文件内容:
2. 单文件的写入以及读操作:
**with open(r"D:\APP_Workplaces\AutoTest_Learn\hello_01.txt", "r+", encoding="UTF-8") as f:
f.write("12233\n23445\n445566") # 写入内容
f.flush() # 文件内容刷新,否则继续查找,则内容为[]
f.seek(0) # 指针需要放在0,否则读取的将会是空字符串
for line in f.readlines(): # 遍历行
print(line)**
*注意: 当进行了写操作之后,需要进行flush()刷新,否则readlines()=[] ,且进行写操作之后除了刷新,还需要将指针指向初始位置,即:seek(0),否则 line=空字符*
二. with open打开多个文件:
1. with open嵌套打开多个文件:
with open(r"D:\APP_Workplaces\AutoTest_Learn\hello_01.txt", "w+", encoding="UTF-8") as f1:
with open(r"D:\APP_Workplaces\AutoTest_Learn\hello.txt", "w+", encoding="UTF-8") as f2:
f2.write("f1\nf1")
f2.flush() # 文件内容刷新,否则继续查找,则内容为[]
f2.seek(0) # 指针需要放在0,否则读取的将会是空字符串
for line in f2.readlines(): # 遍历行
print(line)
f1.write("f2\nf2\nf2") # 写入内容
f1.flush() # 文件内容刷新,否则继续查找,则内容为[]
f1.seek(0) # 指针需要放在0,否则读取的将会是空字符串
for line in f1.readlines(): # 遍历行
print(line)
2. with open,open并行打开多个文件:
with open(r"D:\APP_Workplaces\AutoTest_Learn\hello_01.txt", "w+", encoding="UTF-8") as f1,open(r"D:\APP_Workplaces\AutoTest_Learn\hello.txt", "w+", encoding="UTF-8") as f2:
f2.write("f1\nf1")
f2.flush() # 文件内容刷新,否则继续查找,则内容为[]
f2.seek(0) # 指针需要放在0,否则读取的将会是空字符串
for line in f2.readlines(): # 遍历行
print(line)
f1.write("f2\nf2\nf2") # 写入内容
f1.flush() # 文件内容刷新,否则继续查找,则内容为[]
f1.seek(0) # 指针需要放在0,否则读取的将会是空字符串
for line in f1.readlines(): # 遍历行
print(line)