一、语法简介

函数基本使用语法: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. 正式班D25

    2020.11.09星期一 正式班D25 目录 13.7 LVM 13.7.1 lvm简介 13.7.2 lvm基本使用 13.7.3 在线动态扩容 13.7.4 在线动态缩容与删除 13.7.5 快 ...

  2. UDP局域网通信的Java实现及Android平台尝试

    局域网通信已经很少被他人所提及了,我曾经还尝试过通过蓝牙构建通信网络,这次有机会尝试UDP局域网通信,在这里把一些基本过程和在Android平台上的问题记录一下. 1. UDP基础知识 1.1 什么是 ...

  3. Jquery禁用DIV鼠标右键

    $("#mp4").bind("contextmenu", function (e) { return false; });

  4. uni-app 动态控制下拉刷新

    扫码查看原文,搜索uni-app 动态控制下拉刷新: 前置条件: 开发环境:windows 开发框架:uni-app , H5+,nativeJS 编辑器:HbuilderX 2.8.13 4.兼容版 ...

  5. 找回了当年一篇V4L2 linux 摄像头驱动的博客

    从csdn找回 , 无缘无故被封了..当时损失不少啊!!!!!!!!! linux 摄像头驱动 :核心数据结构:    /**     * struct fimc_dev - abstraction ...

  6. vue 使用中的小技巧 (一)

    在vue的使用过程中会遇到各种场景,当普通使用时觉得没什么,但是或许优化一下可以更高效更优美的进行开发.下面有一些我在日常开发的时候用到的小技巧 data 和 Object.freeze 每个Vue实 ...

  7. sql sever 2008基础知识

    下面是一些总结,如果执行时发现错误,可以查看错误消息进行解决,也可上网查资料 数据库的组成: 主数据文件:有且只有一个,扩展名为.mdf. 次数据文件:可以没有,也可以有任意个.扩展名为.ndf. 日 ...

  8. Oracle表和表空间查询

    用户查询 查询和用户相关的数据 创建用户 CREATE USER user IDENTIFIED BY password [DEFAULT TABLESPACE tablespace] [TEMPOR ...

  9. Linux下Docker容器安装与使用

    注:作者使用的环境是CentOS 7,64位,使用yum源安装. 一.Docker容器的安装 1.查看操作系统及内核版本,CentOS 7安装docker要求系统为64位.系统内核版本为 3.10及以 ...

  10. django清理migration终极解决办法

    1.django生成数据表结构的过程 在我们设计好models以后,我们可以通过以下命令生成将要同步给数据库的数据结构文件 python manage.py makemigrations 生成的文件在 ...