python 基础 文件操作 open

open函数,该函数用于文件处理

操作文件时,一般需要经历如下步骤:

1 打开文件
2 操作文件
3 关闭文件

一、打开文件

1 # 文件句柄 = open('文件路径', '模式')

  打开文件时,需要指定文件路径和以何种方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作。

打开文件的模式有:

  • r ,只读模式【默认,读文件,文件不存在;报错】
  • w,只写模式【不可读;不存在则创建;存在则清空内容;】
  • x, 只写模式【不可读;不存在则创建,存在则报错】
  • a, 追加模式【可读;   不存在则创建;存在则只追加内容;】

"+" 表示可以同时读写某个文件

  • r+, 读写【可读,可写 文件不存在;报错】
  • w+,写读【可读,可写】
  • x+ ,写读【可读,可写】
  • a+, 写读【可读,可写】

 "b"表示以字节的方式操作

  • rb  或 r+b
  • wb 或 w+b
  • xb 或 w+b
  • ab 或 a+b

 注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型

常见操作 

Python3:

f.fileno() #获得当前文件描述符
f.flush() #刷新文件内部缓冲区 把内存中的数据,刷入硬盘
f.read() #读取指定字节数据
f.readable() # 是否可读
f.readline() #读取一行
f.seek() #获取文件中指针位置
f.seekable() # 指针是否可操作
f.tell() # 获取指针位置
f.truncate() # 截断数据,仅保留指定之前数据
f.writable() # 是否可写
f.write #写内容
View Code
f = open('test','r',encoding="utf-8") #读取文件 指定文件路径,读取模式 编码
print(f.fileno()) #获得文件描述符
print(f.read(5)) #读取5个字符 1个汉字也为一个字符
print(f.readline()) #读取一行
print(f.readable()) #判断文件是否可以读取
f.close()# 关闭文件
f = open("锄禾",'w',encoding="utf-8") #读取文件 指定文件路径,读取模式 编码
f.write("锄禾日当午") # w模式为 清空在写入文件
f.flush() #数据输入硬盘
f.close()
f = open("锄禾",'a',encoding="utf-8") #读取文件 指定文件路径,读取模式 编码
f.write("锄禾日当午") # a模式为 在文件内容后增加写入
f.flush() #数据输入硬盘
f.close()

为了避免打开文件后忘记关闭,可以通过管理上下文,即:

with open('log','r') as f:
     pass

如此方式,当with代码块执行完毕时,内部会自动关闭并释放文件资源。

在Python 2.7 及以后,with又支持同时对多个文件的上下文进行管理,即

with open('log1') as obj1, open('log2') as obj2:
    pass

遍历文件

with  open("锄禾",'r',encoding="utf-8") as f, open("锄禾",'r',encoding="utf-8") as f1:
    for i in f.readlines():
        print(i.strip())
    for j in f1: #建议使用这种方式
        print(j.strip())

 

转载于:https://www.cnblogs.com/lqlkxk/p/7279872.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值