文件处理

文件处理流程:1.打开文件,得到文件句柄并赋值给一个变量2.通过句柄对文件进行操作3.关闭文件

文件没有修改这说法,都是会覆盖原文件

open函数会检索你当前系统的编码而不是编辑器的编码

# r w a 只读 只写 只追加

f=open('xxx','r+',encoding='utf8')  #句柄就是这个f open是个应用程序 文件存在硬盘上 你要调用文件就需要操作系统 操作系统返回给你的就是这个f
data=f.read()                       #三个xxx是文件名 但是本来应该是文件路径 但是因为是在同一目录下 所以可以直接输入文件名
print(data)
f.close()

怎么更改文件编码:在pycharm创建文件时先在右下角更改编码再填写

 

v = open("陈粒1","r",encoding="utf8")
r = v.readable() #是否可读
r = v.read() #
r = v.readline() #一次读一行 第二次打印就是第二行
r = v.readlines() #读多行
print(r)

 

文件处理写操作:文件里的内容都是字符串

f=open('陈粒1','w',encoding='utf8')
# f.read()
f.write('11111111\n')
f.write('222222222\n')
f.write('333\n4444\n555\n')
# f.writable()
f.writelines(['555\n','6666\n'])  #表示传一个列表 
f.writelines(['555\n','6666\n',1]) # 文件内容只能是字符串,只能写字符串
f.close()

文件处理追加操作:这也是写的模式 不过是追加 不像“r”清空后重新写

 

f=open('陈粒1','a',encoding='utf-8')
f.write('写到文件最后')
f.close()

 

"r+"模式: 可以读也可以写,用r+模式写的话就是追加,但是会覆盖第一行

f=open('xxx','r+',encoding='gbk')
data=f.read()
print(data)
f.write('123sb')
#文件修改
src_f=open('xxx','r',encoding='gbk')
data=src_f.readlines()
src_f.close()

dst_f=open('xxx','w',encoding='gbk')
# dst_f.writelines(data)
dst_f.write(data[0])
dst_f.close()

with关键词 不用手动close文件

with open('a.txt','w') as f:
    f.write('1111\n')
#将原文件读取的内容直接添加到新的文件

#
src_f=open('xxx','r',encoding='gbk') # dst_f=open('xxx','w',encoding='gbk') with open('xxx','r',encoding='gbk') as src_f,\ #斜杠代表截断,跳到下一行,不能直接回车 open('xxx_new','w',encoding='gbk') as dst_f: data=src_f.read() dst_f.write(data)

W+模式 都是可读可写

a+模式 都是可读可写

 

posted on 2018-05-07 11:40  monster7  阅读(110)  评论(0)    收藏  举报

导航