D17-06 文件操作
处理流程:
1、打开文件,得到文件句柄并复制给一个变量
2、通过句柄对文件进行操作
3、关闭文件
基本操作
r 只读
w 只写
a 只追加
下列代码标红部分可更改模式
f = open('梁静茹','r',encoding='gbk') #需要修改字符编码,windows 默认gbk编码
data = f.read()
print(data)
f.close()
readline( ) 一次读一行
line1 = print(f.readline(),end='') #读一行 end = ''在读取过程中默认是两行中间有空格,end=''不会出现空行
readlines 读取后为列表
f = open('梁静茹','r',encoding='gbk') #需要修改字符编码,windows 默认gbk编码
data = f.readlines()
print(data)
f.close()
输出结果
['梁静茹《勇气》歌词\n',。。。。。]
w 只读模式 如果文件存在会把当前文件清空,然后进行其他的操作。如果文件不存在,会新建一个新的文件
f = open('梁静茹','w',encoding='gbk')
f.write('112312313\n') #需要加入换行符
f.write('dfadff\n')
f.writable()
f.writelines(['d\n','d''dfdf']) #传一个列表,写的类型一定是str格式,不能写入其他格式,要用双引号
f.close()
输出结果 文件内容被修改为
112312313
dfadff
d
ddfdf1
追加操作 a
f = open('梁静茹','a',encoding='gbk') #追加的方式写到文件最后
f.write('\ndddd1111111111111')
f.close()
f = open('梁静茹','r+',encoding='gbk') #既能读又能写
data = f.read()
print(data)
f.write('d')
f.close()
所有的文件没有修改的说法,只是全部覆盖掉
修改文件中的部分内容
src_f=open('xxx','r',encoding='utf-8') #打开文件读取
data = src_f.readlines()
src_f.close()
dst_f=open('xxx_new','w',encoding='utf-8') #新建文件,无文件名会重新创建
dst_f.write(data[0]) #因为data输出的为列表,data[0]用切片取第一个元素即为第一行
dst_f.close()
会出现一个和xxx相同的文件内容
里面包含内容 林海峰
与f = xxxx的效果一样
with open('a.txt','w') as f: # 此方法不需要手动close文件
f.write('a\n2')
从原文件中读取数据,写入新的文件,代码如下:
with open('xxx','r',encoding='utf-8') as src_f,\ #斜杠为截断符,在合适位置加然后回车即可换行
open('xxx_new', 'w', encoding='utf-8') as dst_f:
data = src_f.read()
dst_f.write(data)

浙公网安备 33010602011771号