1、文件基本操作(python3)
1)使用open打开文件时,一些参数的含意
- w:以写方式打开,只写(不存在会创建一个空的,存在会清空)
- a:以追加模式打开,可读可写(鼠标指针会跳到最后的位置)
- r:以读方式打开,只读
- r+:以读写模式打开,可读可写
- a+:以读写模式打开,可读可写
- rb:以二进制读模式打开
- wb:以二进制写模式打开 (参见 w )
- ab:以二进制追加模式打开 (参见 a )
- ab+:以二进制读写模式打开 (参见 a+ )
2)创建一个txt文件方法
不要使用此方法打开一个非空文件,该方法会清空该文件的所有内容。
jpm="《jpm》全书题材由《水浒传》中武松杀嫂一段演化而来,\n\
通过对兼有官僚、恶霸、富商三种身份的市侩势力的代表人物西门庆及其家庭罪恶生活的描述,\n\
体现当时民间生活的面貌,描绘了一个上至朝廷内擅权专政的太师,\n\
下至地方官僚恶霸乃至市井间的地痞、流氓、宦官、帮闲所构成的鬼蜮世界。"
with open("NewFile","w",encoding="utf-8") as fileOne: # 使用with 打开文件无需手动写代码关闭文件
fileOne.write(jpm) # 将上面字符串写入文件
3)以可读方式打开一个txt文件
使用此方法打开的文件只能读,不能写。
with open("NewFile","r",encoding="utf-8") as fileOne: # 使用with 打开文件无需手动写代码关闭文件
print("打印该文件",fileOne.read())
4)以追加读写模式打开一个txt文件并且进行追加写入
使用此方法打开的文件能读,能写。
with open("NewFile","a+",encoding="utf-8") as fileOne: # 使用with 打开文件无需手动写代码关闭文件
fileOne.write("\n这里是我追加写的") # \n 换行
fileOne.seek(0) # 给定seek方法参数0,将鼠标指针移动到最开始,否则下面无法打印到文件内容
print("\n打印该文件:",fileOne.read())
5)修改文件内容
修改文件内容比较麻烦,不能直接修改,需要先新建一个文件。
import os
with open("NewFile","a+",encoding="utf-8") as fileOne:
with open("NewFileTwe", "w+", encoding="utf-8") as fileTwe:
fileOne.seek(0) # 一定要把位置移回来
for line in fileOne: # 一行一行读取并且写入文件2
if "水浒传" in line:
line=line.replace("水浒传","shz") # 将水浒传修改成shz
fileTwe.write(line)
else:
fileTwe.write(line)
with open("NewFile","a+",encoding="utf-8") as fileOne: # 清空文件一
with open("NewFileTwe", "r", encoding="utf-8") as fileTwe: # 读取文件二
fileOne.write(fileTwe.read())
fileOne.seek(0) # 一定要把位置移回来
print("\n打印修改后的文件:", fileOne.read())
os.remove("NewFileTwe") # 删除文件2 ,需要先调用os模块