第9.1节 Python的文件打开函数open简介
一、语法简介
函数基本使用语法:open(文件名,文件打开模式=’rt’)
其中:
1、文件名为可带路径的文件名,注意windows下路径的反斜杠会被作为转义符处理,因此可以采用前面再加反斜杠或使用原始字符串(字符串前面带标记r,关于原始字符串请见《第3.7节 再说字符串》的有关介绍。
2、文件打开模式,默认为读取模式,取值与对应文件操作模式对应关系如下:
返回:一个可操作的文件对象,通过该文件对象可以进行后续的读写操作以及访问相关文件属性。
二、 示例
- 打开一个文本文件读取
以下三个语句的效果等价,都是打开一个文本文件读取,不能写:
>>> fp=open(r'c:\temp\test.txt')#打开一个文本文件读取,文件名采用原始字符串
>>> fp=open('c:\\temp\\test.txt','r')#打开一个文本文件读取,文件名采用普通字符串,反斜杠需要使用两个来表示
>>> fp=open(r'c:\temp\test.txt','rt')#打开一个文本文件读取,文件名采用原始字符串,模式为rt
当文件不存在时,报FileNotFoundError错误。
2. 创建一个新文本文件写
当一个文件不存在时,以下语句都能创建一个新文本文件写入:
>>> fp=open(r'c:\temp\test2.txt','w')
>>> fp=open(r'c:\temp\test3.txt','a')
>>> fp=open(r'c:\temp\test4.txt','x')
>>> fp=open(r'c:\temp\test5.txt','xt')
注意:t模式是默认模式,没有给出b和t的模式默认就是t模式。在文件已经存在情况下,x模式如果文件已经存在会报错,w和a模式不会报错,w模式会清空原文件内容,文件长度为0,a模式不会清空。
3. 打开一个已有文件写且不清空已有文件内容
当要打开一个已有文本文件写入且不清空原文件的内容时,可以使用下面语句:
>>> fp=open(r'c:\temp\test.txt','a')
>>> fp=open(r'c:\temp\test.txt','r+')
不过二者还是有差别,追加模式打开文件写入内容是在文件末尾写入的,而更新模式(r+)是在文件开头开始写入,写入内容会覆盖原有位置的内容。
4. 打开一个已有文件写且清空已有文件内容
>>> fp=open(r'c:\temp\test.txt','w')
>>> fp=open(r'c:\temp\test.txt','w+')。
以上案例是以文本文件举例的,如果是二进制文件,只要把t模式换成b模式就可以了,其他是一样的,如:
打开一个已有二进制文件写且不清空已有文件内容可以使用:
>>> fp=open(r'c:\temp\test.txt','ab')
>>> fp=open(r'c:\temp\test.txt','r+b')
追加模式打开文件写入内容是在文件末尾写入的,而更新模式(r+b)是在文件开头开始覆盖原有内容写入。
好了,本节简单介绍了文件的打开操作,如果要稍微深入了解open函数,请看下节。
老猿Python,跟老猿学Python!
博客地址:https://blog.csdn.net/LaoYuanPython
请大家多多支持,点赞、评论和加关注!谢谢!
第9.1节 Python的文件打开函数open简介的更多相关文章
- 第9.2节 Python的文件打开函数open详解
一. 引言 在操作一个文件前,大部分情况需要先打开文件,才能进行,在Python中使用内置函数open来打开一个文件.open函数是Python的一个内置函数,io模块 定义的函数open是该内置函数 ...
- 第9.3节 Python的文件行读取:readline
一. 语法 readline(size=-1) readline函数顾名思义就是从文件内读取一行,用来处理文本文件读取的典型方法之一,但readline可不只是读取文本文件,也能读取二进制文件,只是在 ...
- python csv文件打开错误:_csv.Error: line contains NULL byte
当python读取文件出现_csv.Error: line contains NULL byte时, # -*- coding:utf-8 -*- import csv with open(r'E:\ ...
- python自学——文件打开
#文件的打开 新建一个文件new file.txt #方法一:f=open("yesterday","r",encoding="utf-8" ...
- python中文件打开的各个标识含义
w代表清空后写入 r代表打开后追查 +代表可以写 b代表二进制写入
- 第3章 Python基础-文件操作&函数 文件操作 练习题
一.利用b模式,编写一个cp工具,要求如下: 1. 既可以拷贝文本又可以拷贝视频,图片等文件 2. 用户一旦参数错误,打印命令的正确使用方法,如usage: cp source_file target ...
- 文件I/O——文件打开函数(open/openat)
一.open函数 1.函数原型:int open(const char *path,int oflag,.../* mode_t mode */); 2.头文件:#include <fcntl. ...
- 第11.3节 Python正则表达式搜索支持函数search、match、fullmatch、findall、finditer
一. 概述 re模块的函数search.match.fullmatch.findall.finditer都是用于搜索文本中是否包含指定模式的串,函数的参数都是一样的,第一个参数是模式串.第二个是搜索文 ...
- python常用文件处理函数_1
1.range()函数 函数原型:range(start,end,scan) 参数含义:start:计数从start开始.默认是从0开始的,如range()等价于range(0,5) end:计数到 ...
随机推荐
- 直播带货APP源码开发为什么选择云服务器
云服务器可以为直播带货APP源码提供弹性计算以及更高的运行效率,避免资源浪费,随着直播带货APP源码业务需求的变化,可以实时扩展或缩减计算资源.CVM支持按实际使用的资源计费,可以节约计算成本. 一. ...
- System.Net邮件发送功能踩过的坑
System.Net邮件发送功能踩过的坑 目录 System.Net邮件发送功能踩过的坑 1.EazyEmail邮件发送类库 2.邮件发送授权码与邮件密码 3.通过邮件密码来发送邮件 4.Wiresh ...
- git clone下载速度慢的解决方案
由于自己碰到git clone速度慢的问题,查询后发现有一个很好用的方法 首先获得你git clone的原格式,例如: git clone https://github.com/graykode/nl ...
- MobaXterm 连接 VirtualBox 6 虚拟机中的 CentOS 7
1 运行环境 本机系统:Windows 7 虚拟机软件:Oracle VM VirtualBox 6 虚拟机系统:CentOS 7 MobaXterm(安装在本机上) 2 MobaXterm - 远端 ...
- CSS3之线性渐变(linear gradients)
线性渐变(linear gradients)沿着一根轴线改变颜色,从起点到终点颜色进行顺序渐变. 语法: background:linear-gradient(direction,color-stop ...
- Vue3.0响应式原理
Vue3.0的响应式基于Proxy实现.具体代码如下: 1 let targetMap = new WeakMap() 2 let effectStack = [] //存储副作用 3 4 const ...
- lseek系统调用
文件的随机读写.目前为止,文件都是顺序访问.读写都是从当前文件的偏移位置开始,然后文件偏移值自动的增加到刚好超出读或者写结束的位置是它为下一次作好准备.在linux中有文件偏移.使得随机访问变得简单, ...
- Spring源码之@Lazy和预实例化
https://www.cnblogs.com/yanze/p/10243348.html 懒加载优缺点 优点:懒加载,对象使用的时候才去创建:启动速度快,节省资源 缺点:不利于提前发现错误:初次请求 ...
- shell中数字、字符串、文件比较测试
1.逻辑运算符:与&& 或|| 非! &&:双目操作符:与运算中:如果第一个数为假,结果一定为假 ==> 短路操作符 ||:双目操作符:或运算 ...
- 一次webpack小规模优化经历
这标题一点营销号味道都没有,怎么会有人看啊!(笑) 没人看也无所谓的文章背景: 八月份入职了新公司,是个好几年的老项目了,公司产品是存在很久了,但我接触到的代码版本保守估计应该是有个三年到四年这样的历 ...