第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:计数到 ...
随机推荐
- 要求用户输入用户名和密码,只要不是admin、888888就
要求用户输入用户名和密码,只要不是admin.888888就一直提示用户名或密码错误,请重新输入 Console.WriteLine("输入账号和密码"); string a = ...
- 利用sklearn实现k-means
基于上面的一篇博客k-means利用sklearn实现k-means #!/usr/bin/env python # coding: utf-8 # In[1]: import numpy as np ...
- 获取tp3.2 public所在的路径
//返回服务器真实路径 $Absolute_Path=$_SERVER['SCRIPT_FILENAME']; //截取index.php $Absolute_Path=substr($Absolut ...
- 当Prometheus遇到混沌工程
一.背景 最近容器组在开发云平台的监控.报警功能. 大致的实现策略是: 1.云平台页面上配置告警规则 2.Prometheus完成监控数据的聚合 3.当Prometheus聚合后的监控数据满足告警规则 ...
- 【转】volatile和synchronized的区别
volatile和synchronized的区别 volatile本质是在告诉jvm当前变量在寄存器(工作内存)中的值是不确定的,需要从主存中读取: synchronized则是锁定当前变量,只有当前 ...
- SpringBoot中的响应式web应用
目录 简介 Reactive in Spring 注解方式使用WebFlux 编程方式使用webFlux Spring WebFlux的测试 总结 简介 在Spring 5中,Spring MVC引入 ...
- 在Linux下安装C++的OpenCV 3
最近在看<学习OpenCV3>这本书,所以记录下我在ubuntu16.4下搭建C++版本OpenCV 3.4.5的过程.首先请确保cuda,gcc, g++都安装好了,我这里是cuda 1 ...
- 服务器虚拟化 - PVE
服务器虚拟化 - Hypervisor 服务器虚拟化软件,也叫 Hypervisor--虚拟机管理程序,有时也称做 Virtual Machine Monitor(VMM),它可以在宿主机上创建并管理 ...
- 利用s3-test进行ceph的接口兼容性测试
前言 ceph的rgw能够提供一个兼容性的s3的接口,既然是兼容性,当然不可能是所有接口都会兼容,那么我们需要有一个工具来进行接口的验证以及测试,这个在其他测试工具里面有类似的posix接口验证工具, ...
- 一篇文章了解_unittest
1. 基本概念 2018年10月7日 星期日 11:39 unittest是python自带的单元测试框架,有时候又被称为"PyUnit",是python版本的JUint实现. 该 ...