python3 open()函数调用简介。Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。 注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。 open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。先看一下实例openfile.py

# coding=gbk
#!/usr/bin/python3
# Filename: openfile.py
# 打开文件
f=open('ytkah.txt',mode='r')
data=f.read()
print(data)
# 关闭文件
f.close()

  open()完整的语法格式为:

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

参数说明:

  • file: 必需,文件路径(相对或者绝对路径)。
  • mode: 可选,文件打开模式
  • buffering: 设置缓冲
  • encoding: 一般使用utf8
  • errors: 报错级别
  • newline: 区分换行符
  • closefd: 传入的file参数类型
  • opener:

mode 参数有:

模式 描述
t 文本模式 (默认)。
x 写模式,新建一个文件,如果该文件已存在则会报错。
b 二进制模式。
+ 打开一个文件进行更新(可读可写)。
U 通用换行模式(不推荐)。
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

默认为文本模式,如果要以二进制模式打开,加上 b 。

最新文章

  1. getComputedStyle 方法
  2. android 颜色对照
  3. artDialog测试
  4. 【转】利用optimize、存储过程和系统表对mysql数据库表进行批量碎片清理释放表空间
  5. (medium)LeetCode 221.Maximal Square
  6. LeetCode Contains Duplicate II (判断重复元素)
  7. 用eclipse建立简单WebService客户端,使用WSDL,用于短信接口发送
  8. 【转】ant命令总结
  9. require 书写约定
  10. linux c信息验证程序(分享)
  11. BZOJ 2733: [HNOI2012]永无乡(treap + 启发式合并 + 并查集)
  12. hdu 5071 Chat(模拟)
  13. Python的几个爬虫代码整理(网易云、微信、淘宝、今日头条)
  14. alibaba/druid 下的 密码加密
  15. [JavaScript] 前端模块加载简单实现(require)
  16. Spring-IOC XML 配置多个相同 ID 的 bean 加载分析
  17. bzoj千题计划246:bzoj2242: [SDOI2011]计算器
  18. js限制上传图片类型和大小
  19. [HNOI2011]数学作业 --- 矩阵优化
  20. Canvas简述

热门文章

  1. duilib进阶教程 -- TreeView控件(6)
  2. 解决在antd中使用 autoprefixer 9.4.5 会抛出错误 Replace text-decoration-skip: ink to text-decoration-skip-ink: auto, because spec had been changed 的问题
  3. java工具类 获取包下所有类
  4. svn st 状态详解
  5. java编程感悟02
  6. Django之Web框架本质及第一个Django实例
  7. 配置数据源的三种方式和sql心跳的配置
  8. juqery 点击谁获取他的值,赋给input标签
  9. 关于device tree中的interrupts选项
  10. day8 八、文件操作模式、文件的复制与文件游标操作