一、语法简介

函数基本使用语法:open(文件名,文件打开模式=’rt’)

其中:

1、文件名为可带路径的文件名,注意windows下路径的反斜杠会被作为转义符处理,因此可以采用前面再加反斜杠或使用原始字符串(字符串前面带标记r,关于原始字符串请见《第3.7节 再说字符串》的有关介绍。

2、文件打开模式,默认为读取模式,取值与对应文件操作模式对应关系如下:



返回:一个可操作的文件对象,通过该文件对象可以进行后续的读写操作以及访问相关文件属性。

二、 示例

  1. 打开一个文本文件读取

    以下三个语句的效果等价,都是打开一个文本文件读取,不能写:
>>> 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简介的更多相关文章

  1. 第9.2节 Python的文件打开函数open详解

    一. 引言 在操作一个文件前,大部分情况需要先打开文件,才能进行,在Python中使用内置函数open来打开一个文件.open函数是Python的一个内置函数,io模块 定义的函数open是该内置函数 ...

  2. 第9.3节 Python的文件行读取:readline

    一. 语法 readline(size=-1) readline函数顾名思义就是从文件内读取一行,用来处理文本文件读取的典型方法之一,但readline可不只是读取文本文件,也能读取二进制文件,只是在 ...

  3. python csv文件打开错误:_csv.Error: line contains NULL byte

    当python读取文件出现_csv.Error: line contains NULL byte时, # -*- coding:utf-8 -*- import csv with open(r'E:\ ...

  4. python自学——文件打开

    #文件的打开 新建一个文件new file.txt #方法一:f=open("yesterday","r",encoding="utf-8" ...

  5. python中文件打开的各个标识含义

    w代表清空后写入 r代表打开后追查 +代表可以写 b代表二进制写入

  6. 第3章 Python基础-文件操作&函数 文件操作 练习题

    一.利用b模式,编写一个cp工具,要求如下: 1. 既可以拷贝文本又可以拷贝视频,图片等文件 2. 用户一旦参数错误,打印命令的正确使用方法,如usage: cp source_file target ...

  7. 文件I/O——文件打开函数(open/openat)

    一.open函数 1.函数原型:int open(const char *path,int oflag,.../* mode_t mode */); 2.头文件:#include <fcntl. ...

  8. 第11.3节 Python正则表达式搜索支持函数search、match、fullmatch、findall、finditer

    一. 概述 re模块的函数search.match.fullmatch.findall.finditer都是用于搜索文本中是否包含指定模式的串,函数的参数都是一样的,第一个参数是模式串.第二个是搜索文 ...

  9. python常用文件处理函数_1

    1.range()函数 函数原型:range(start,end,scan) 参数含义:start:计数从start开始.默认是从0开始的,如range()等价于range(0,5)  end:计数到 ...

随机推荐

  1. js 图片放大镜功能

    原理:放置两张相同的图片,一张作为主图片(图片1),另一张作为用来裁剪并放大的图片(图片2)          鼠标移动时,计算鼠标在图片1的位置(距离图片1左上角的x,y距离),以此决定在图片2开始 ...

  2. 微信小程序获取请求数据

    <%@ WebHandler Language="C#" Class="CodeTest" %> using System; using Syste ...

  3. 经典c程序100例==11--20

    [程序11] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月 后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1 ...

  4. ESP8266 鼓捣记 - 入门(环境搭建)

    一.前言 以前没怎么接触过硬件开发,ESP8266 这个名字还是从朋友处得知,用它做了许多好玩的东西,便想着自己也来玩一玩.定了一个小目标,做一个温度计.本文介绍从0到 "Hello Wor ...

  5. linux nf_conntrack 连接跟踪机制 3-hook

    conntrack hook函数分析 enum nf_ip_hook_priorities { NF_IP_PRI_FIRST = INT_MIN, NF_IP_PRI_CONNTRACK_DEFRA ...

  6. 8.java设计模式之装饰者模式

    基本需求: 咖啡的种类有很多种,调料也有很多种,下单时,可以点单品咖啡也可以点单品咖啡+调料的组合,并计算下单时花费的金额 传统方式: 方式一 创建一个抽象类Drink,让所有的单品咖啡和组合咖啡都继 ...

  7. rhel8/centos8网络网卡设置ping不通,连接不上,各种问题

    [解决问题]: 1-ping不通宿主机 2-ping不通外网 3-ping不通网关 4-网络中心VMnet8 VMnet1 VMnet0 不见了 5-rhel8网络设置全攻略 环境:win10宿主机+ ...

  8. ceph客户端服务端属性匹配关系

    ceph的server是定期会发布版本,而它的客户端是放到linux 内核当中的,一些属性的支持是依赖于内核版本的,这样就存在一些问题,一些功能后端支持,而客户端旧了:还有可能是客户端用的很新的内核, ...

  9. kettle——转换案例

    把stu1的数据按id同步到stu2,stu2有相同id则更新数据 (1)在mysql中创建两张表 mysql> create database kettle; mysql> use ke ...

  10. 好学易懂 从零开始的插头DP(一)

    好学易懂 从零开始的插头DP(一) 写在前面 这是一篇,以蒟蒻视角展开的梳理总结.更改了一些顺序,变化了一些细节.方便蒟蒻学习理解(起码本蒟蒻是这样).大佬们可以直接看其它大佬的博客,可以学的更快. ...