文件的操作
file文件使用流程:
1、打开文件 open("文件路径",mode='')
2、操作文件 file.read()
、file.write()
3、关闭文件 file.close()
读取 mode = 'r'
''' mode = 'r'
read()
readline()
readlines()
'''
file1_1 = open(r'D:\WorkSpace\function_folder\file01.txt', mode='r',encoding='utf-8')
msg = file1_1.read() # 一个字一个字的读取,直到读完所有内容
print("文件的内容:", msg)
file1_1.close()
file1_2 = open(r'D:\WorkSpace\function_folder\file01.txt', mode='r',encoding='utf-8')
msg = file1_2.readline(3) # 读取指定的内容个数
print("文件的内容:", msg)
file1_2.close()
file1_3 = open(r'D:\WorkSpace\function_folder\file01.txt', mode='r',encoding='utf-8')
msg = file1_3.readlines() # 按行读取,存入列表中
print("文件的内容:", msg)
file1_3.close()
写入 - 覆盖型 mode = 'w'
file2 = open(r'D:\WorkSpace\function_folder\file01.txt', mode='w',encoding='utf-8')
file2.write("---写入的内容-----")
file2.close()
写入 - 追加型 mode = 'a'
file3 = open(r'D:\WorkSpace\function_folder\file01.txt', mode='a',encoding='utf-8')
file3.write("---追加 写入的内容-----")
file3.close()
读写文件
mode = ‘r+’
open(“文件路径”, mode=‘r+’,encoding=‘utf-8’)
file4 = open(r'D:\WorkSpace\function_folder\file01.txt', mode='r+',encoding='utf-8')
# 读
msg = file4.read()
print("文件内容1:", msg)
# 写
file4.write("====读写文件操作1====")
file4.close()
mode = ‘w+’
open(“文件路径”, mode=‘w+’,encoding=‘utf-8’)
file5 = open(r'D:\WorkSpace\function_folder\file01.txt', mode='w+',encoding='utf-8')
# 读
msg = file5.read()
print("文件内容2:", msg) # 读取不到内容 因为w+的模式会清空文件
# 写
file5.write("====读写文件操作2====")
file5.close()
mode = ‘a+’
open(“文件路径”, mode=‘a+’,encoding=‘utf-8’)
file6 = open(r'D:\WorkSpace\function_folder\file01.txt', mode='a+',encoding='utf-8')
# 读
file6.seek(0) # 将光标的位置移送到最开头就可以读取到了
msg = file6.read()
print("文件内容3:", msg) # 读取不到内容 因为a+模式,属于追加文件内容,光标在文件末尾处
# 写
file6.write("====读写文件操作3====")
file6.close()
with as 操作文件
使用这个写法就不用担心忘记关闭文件了。如果在进行文件读取操作的时候忘记关闭文件,你会发现文件会报错或者出现乱码,打不开的情况
with open(r'D:\WorkSpace\function_folder\file01.txt', mode='r',encoding='utf-8') as file:
msg = file.read()
print("with as 文件内容:", msg)
注意事项
报错:UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xb9 in position 26: incomplete multibyte sequence
解决办法:open("文件路径",mode='',encoding='utf-8')
加入编码格式即可