操作步骤
第1步: 打开需要操作的文件
第2步: 对文件读或写操作
第3步: 关闭文件
第一种语法:f =open("文件路径/文件名" ,"读写模式")读 或 写f.close()
第二种语法:with open("文件路径/文件名" ,"读写模式") as f:读 或 写#自动关闭文件
1、打开文件
f =open( file="" , mode=type, encoding=编码 )f1 =open(file=r"c:\古诗.txt",mode="r",encoding="utf-8")f1 =open(r"c:\古诗.txt","r",encoding="utf-8")
(1)读文件
- read() 将文件的所有内容读取出来,返回一个字符串
- readline() 读取文件中的一行内容, 返回一个字符串
- readlines(),将文件的所有内容读取出来,返回一个列表,文件中的每行为列表中的一个元素
变量=f.read()变量=f.readline()列表变量=f.readlines()def fun_read1():f2 =open('咏柳.txt','r',encoding="utf-8")content =f2.read()f2.close( )print(content)def fun_read2():f2 =open('咏柳.txt','r',encoding="utf-8")content =f2.readlines() #读取全部内容返回列表,文件中每一行对应列表中的一个元素f2.close( )print(content)
(2)写文件
-
write(s) 将一个字符串写入文件
-
writelines( squ ) 将一个序列对象的所有元素依次写入文
f.write(字符串)f.writelines( 列表名 ) [ ]def fun_write1():f1 =open('古诗.txt','w',encoding="utf-8")f1.write('春眠不觉晓,\n')f1.write('处处闻啼鸟。\n')f1.write('夜来风雨声,\n')f1.write('花落知多少。\n')#f.write(1314) 报错:写入的数据必须是字符串f1.close( )print("内容已写入文件")def fun_write2():f1 =open('awp.txt','w',encoding="utf-8")f1.writelines(list_word)#将列表的每个元素依次写入文件f1.close( )print("内容已写入文件")# write() 只能写字符串类型的数据# writelines(列表) 列表中的元素也必须是字符串类型# 写数据后不会换行,如需换行需在字符串尾部加入\n符
(3) 追写文件
w模式覆盖写入, 打开文件先清空内容,然后执行写入操作。 (文件不存在创建文件 )
a模块追加写入,打开文件在文件尾执行写入操作。(文件不存在创建文件 )
def fun_write3():f=open('古诗.txt','a',encoding="utf-8")f.write('好雨知时节\n')f.write('当春乃发生\n')f.write('随风潜入夜\n')f.write('润物细无声\n')f.close()

语法: f.seek(移动多个少字节,参考位置)参考位置:0 文件的开头作为基准位置 /1 当前位置作为基准位置 /2文件的结束将作为基准位置-移动指针到文件尾 f.seek(0,2)-移动指针到文件头 f.seek(0,0)#一个字符一个字节 一个汉字3个字节
# r 读模式 文件不存在 报错 FileNotFoundError# w 覆盖写模式 文件不存在 创建再写, 文件存在覆盖(清空文件中所有内容)再写# a 追写模式 文件不存在 创建再写, 文件存在,在文件尾写
# 读写模式 r+ 打开文件 默认指针在文件头#读写模式 w+ w模式 打开文件先清空 指针在文件头#读写模式 a+ a模式 默认指针在文件尾
示例1
# 1:将自己喜欢诗句写入文件中
# 2:读取这个文件的内容
def demo1():
d1=open(r'C:\Users\aoxiang.liu\Desktop\江城子.txt','w',encoding='utf-8')
d1.write('十年生死两茫茫,不思量,自难忘。千里孤坟,无处话凄凉。纵使相逢应不识,尘满面,鬓如霜。\n'
'夜来幽梦忽还乡,小轩窗,正梳妆。相顾无言,唯有泪千行。料得年年肠断处,明月夜,短松岗。')
d1.close()
print('写入完毕')
def demo2():
d2=open(r'C:\Users\aoxiang.liu\Desktop\江城子.txt','r',encoding='utf-8')
s2=d2.read()
d2.close()
print(s2)
if __name__ == '__main__':
demo1()
demo2()
示例2
# 1: 将列表[["姓哈哈","5元"],["优酸乳","4元"]]中的商品写入goods.txt文件中每个商品写一行如:
# 商品名称,商品价格
# 姓哈哈 ,5元
# 优酸乳,4元
# 2: 读取这个文件的内容
goods=[["姓哈哈","5元"],["优酸乳","4元"]]
def demo6():
d6=open(r'C:\Users\aoxiang.liu\Desktop\goods.txt','w',encoding='utf-8')
d6.write('商品名称\t\t商品价格\n')
for i in range(len(goods)):
d6.write(f'{goods[i][0]}\t\t{goods[i][1]}\n')
d6.close()
print('写入完毕')
def demo7():
d7 = open(r'C:\Users\aoxiang.liu\Desktop\goods.txt','r',encoding='utf-8')
s7 = d7.read()
d7.close()
print(s7)
if __name__ == '__main__':
demo6()
demo7()
示例3
# 1: 将字典中属于电摄班的同学按男女区分,分别放到boys.txt、girls.txt 文件中,每个名字在文件中独占一行
# cl={"电摄班": {"路桥川": "M", "林洛雪": "F", "钟白": "F", "肖海洋": "M"}, "其他班": {"任逸帆": "M"}}
#2: 读 boys.txt、girls.txt 文件
cl={"电摄班": {"路桥川": "M", "林洛雪": "F", "钟白": "F", "肖海洋": "M"}, "其他班": {"任逸帆": "M"}}
st=cl.get("电摄班")
def demo8():
d8 = open(r'C:\Users\aoxiang.liu\Desktop\boys.txt', 'w', encoding='utf-8')
d8.write('名字\t\t性别\n')
d9 = open(r'C:\Users\aoxiang.liu\Desktop\girls.txt', 'w', encoding='utf-8')
d9.write('名字\t\t性别\n')
for key in st:
if st[key]=='M':
d8.write(f'{key}\t\t{st[key]}\n')
elif st[key]=='F':
d9.write(f'{key}\t\t{st[key]}\n')
d8.close()
d9.close()
print('写入完毕')
def demo10():
d10 = open(r'C:\Users\aoxiang.liu\Desktop\boys.txt','r',encoding='utf-8')
s10 = d10.read()
d10.close()
print(s10)
def demo11():
d11 = open(r'C:\Users\aoxiang.liu\Desktop\girls.txt','r',encoding='utf-8')
s11 = d11.read()
d11.close()
print(s11)
if __name__ == '__main__':
demo8()
demo10()
demo11()
本文详细介绍了Python中文件的读写操作,包括使用`open()`函数的不同模式(读、写、追加),以及`read()`, `readline()`, `readlines()`, `write()`, `writelines()`等方法的用法。通过示例代码展示了如何读取和写入文件内容,以及如何追加写入。文章还涵盖了文件定位与指针移动,并提供了多个实际操作的例子。
667

被折叠的 条评论
为什么被折叠?



