python中文件的读写与打开模式详解

python中文件的读写与打开模式

什么是相对路径?
相对路径就是以当前文件为基准,到目标路径的这一段路,被称作为相对路径
一般以./代表当前路径
一般以. ./代表上一级路径
什么是绝对路径?
绝对路径就是以盘符开始到目标路径
比如C:/路径
代表c盘下面的路径
传统的python读取文件:

变量名 = open("相对路径或绝对路径","r")

但是可能会遇到文件不存在,抛出FileNotFoundError异常,为了防止程序崩溃,我们采用异常处理:

try:
    变量名 = open("相对路径或绝对路径", "r")
except:
    print("文件不存在")

虽然这个打开文件的程序看起来没问题,但是我们忽略了一个细节,当文件读取后,没有进行关闭,及时关闭文件这是一个好习惯。
解释:当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入。只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘。忘记调用close()的后果是数据可能只写了一部分到磁盘,剩下的丢失了,而with语句,会自动调用close()方法。所以,可以用close()函数来关闭文件,也可以采用with语句使代码更加简洁:
第一种方式:

try:
    变量名 = open("相对路径或绝对路径", "r")
except:
    print("文件不存在")
finally:
	变量名.close()

第二种方式:

with open('相对路径或绝对路径','r') as 变量名:
文件的打开模式 含义
‘r’ 只读模式,如果文件不存在,返回异常FileNotFoundError,默认值
‘w’ 覆盖写模式,文件不存在则创建,存在则完全覆盖
‘x’ 创建写模式,文件不存在则创建,存在则返回异常FileExistsError
‘a’ 追加写模式,文件不存在则创建,存在则在文件最后追加内容
‘b’ 二进制文件模式
‘t’ 文本文件模式,默认值
‘+’ 与r/w/x/a 一同使用,在原功能基础上增加同时读写功能

可以进行随意组合(只列出部分):
“a” 以“追加”模式打开, (从 EOF 开始, 必要时创建新文件)
“a+” 以”读写”模式打开
“ab” 以”二进制 追加”模式打开
“ab+” 以”二进制 读写”模式打开

“w” 以”写”的方式打开
“w+” 以“读写”模式打开
“wb” 以“二进制 写”模式打开
“wb+” 以“二进制 读写”模式打开

“r+” 以”读写”模式打开
“rb” 以”二进制 读”模式打开
“rb+” 以”二进制 读写”模式打开
文件内容的读取方法:

函数名 含义
变量名.readall() 读取整个文件的内容,返回一个字符串或字节流
变量名.read(size) 从文件中读取整个文件的内容,可选参数size:读取前size长度的字符串或字节流
变量名.readline(size) 从文件中读取一行的内容,可选参数size:读取改行前size长度的字符串或字节流
变量名.readlines(hint) 从文件中读取所有行的内容,以每行为元素形成一个列表,可选参数hint:读取hint行

文件内容的写入方法:

方法 含义
变量名.write() 向文件写入一个字符串或字节流
变量名.writelines(lines) 将一个全为字符串的列表写入文件
变量名.seek(offset) 改变当前文件操作指针的位置,offset值:0-文件开头 1-当前位置 2-文件结尾

来一波,推送吧!
群号:781121386
群名:人生苦短,我学编程
欢迎大家加入我们,一起交流技术!!!

发布了38 篇原创文章 · 获赞 128 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/lujiangyang123/article/details/103246022