Python——文件处理及其相关函数

Python——文件处理及其相关函数

无论读还是写,都必须是字符串

读模式

1、

假设目前有一个py文件名为:文件处理,打开只读操作为:
f = open(‘文件处理’,‘r’,encoding=‘utf-8’)   //如果不写‘r’,默认的是只读模式
data = f.read()
print(data)
f.close()

如果不指定编码,默认为GBK;最后必须都得有close()关闭处理

2、

f.readable()           //该文件是否可读,返回的是布尔值
f.readline()           //一次只读一行,默认会换行
print(f.readline(),end=’’)    //一次只读一行,加了个end,end为空,则不会换行

当用了read()方法后,已经全部读完,再执行readline()方法,则什么都显示不出来,因为已经读完


写模式

1、

f = open(‘文件处理’,‘w’,encoding=‘utf-8’)    //如果文件不存在,则创造一个新的文件;如果文件存在,则会清空原有内容

2、

f.write(‘111111111’)
f.write(‘22222222’)       // 最终显示的结果为2接在1的后面,默认不换行,需要手动添加

f.writable()           // 显示是否可写

f.writeline([‘xxx’])       // 以列表的形式写


追加模式

1、

f = open(‘文件处理’,‘a’,encoding=‘utf-8’)        // 可读可写,以追加的方式写,写在文件最后


+模式

1、r+模式: 读写(可读可写)

f = open(‘文件处理’,‘r+’,encoding=‘utf-8’)
data = f.read()
print(data)
f.write(‘写入qqq’)
f.close()           //直接写在文件内容的最后

如果上来就直接写模式:
f = open(‘文件处理’,‘r+’,encoding=‘utf-8’)
f.write(‘写入qqq’)       //写在光标处


另外一种打开文件处理模式

with open(‘a.txt’,‘w’) as f:
f.write(‘111’) //以这种方式进行文件处理结尾不需要close()方法

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)             //从源文件读到数据再原封不动的写到新文件当中


rb/wb/xb/ab 模式

**1、b模式下处理的都是二进制,不能指定编码(指open()操作)
2、因为open()没有指定编码,在wb下的write()操作需要指定编码 **


1、flush():刷新。输入的内容需要执行此函数后才能看见

2、isatty():是否是终端设备

3、tell():光标当前所在位置(换行符也算)

4、newline():不同系统的换行符不同,编译软件会统一为\n,此时需要newline函数还原本来的换行符

用法: f=open(‘b.txt’,‘r’,encoding=‘utf-8’,newline=’ ')
newline函数=空,可以还原为本来的换行符

5、seek(xx,xx):控制光标所在位置(只输一个参数为默认模式)

有三种模式:
1、seek(xx,0):默认模式,从开头算起
2、seek(xx,1):相对位置,从上一个光标位置算起
3、seek(xx,2):从结尾算起(想要倒序第一个参数要为负数)

注意:只有read()方法是以字符为单位,其他方法都是以字节为单位

6、truncate(xx,xx):截取。只输一个参数则是从开头到输入参数所在的位置

注意:文件必须以写方式打开,不能用在W和W+方法上,其他方法都可以。因为W模式下会清空文件内容。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值