首页 > 编程语言 >python3-open

python3-open

时间:2023-04-17 10:01:39浏览次数:46  
标签:文件 None self mode python3 open def 指针

1、介绍

python3中,可以通过内建模块的open函数,进行文件的读写,以及创建文件。

2、函数

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
  • file: 必需,文件路径(相对或者绝对路径)。
  • mode: 可选,文件打开模式
  • buffering: 设置缓冲
  • encoding: 对于文本文件,需要设置正确的编码,一般使用utf8。对于字节文件,不能设置,否则会报错
  • errors: 报错级别
  • newline: 区分换行符
  • closefd: 传入的file参数类型
  • opener
  • 函数的返回对象类型:
<class '_io.TextIOWrapper'>

3、mode参数

(1)r

  • 表示read,即只读模式,mode参数默认值
  • 文件的指针将会放在文件的开头

(2)w

  • 表示write,即只写模式
  • 如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

(3)r+

  • 打开一个文件用于读写。文件指针将会放在文件的开头。

(4)w+

打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

  • 因此,如果在打开的时候去读取内容,是空的

(5)类似的,字节文件对应四个模式:rb、wb、rb+和wb+

(6)a、a+、ab、ab+表示追加模式

4、文件操作

基于open函数返回对象,调用其方法

(1)模式

f = open(r'G:\python-test\home\a.txt')
print(f.mode)
f.close()
  • mode属性:文件打开模式。默认为r

(2)指定读

def read(self, n: int = -1)
  • 默认为-1,如果为正数,表示读取指针后的几个字符。如果为负数,表示读取指针之后的所有字符.
  • 返回的是字符串

(3)按行读

def readline(self, limit: int = -1)
  • 默认为-1,如果为正数,表示读取指针后的几行。如果为负数,表示读取指针之后的所有行.
  • 返回的是字符串

(4)多行读

def readlines(self, hint: int = -1)
  • 默认为-1,如果为正数,表示读取指针后的几行。如果为负数,表示读取指针之后的所有行.
  • 返回的是列表,一行为一个字符串,为一个列表元素

(5)字符串写入

def write(self, s: AnyStr)
  • 参数必须是字符串
  • 需要注意,如果指针在末尾,这里的write实际就是在指针之后进行追加。
  • 如果指针在中间或者开头,则是对指针之后的n格字符进行覆盖,如果写入的字符超过指针之后原有的字符,则会扩展

(6)多行写入

(7)设置指针位置

def seek(self, offset: int, whence: int = 0) 

(8)清除

def truncate(self, size: int = None)
  • 默认清除指针之后的所有字符,当size指定时,即清除指针后的size个字符

(9)关闭

def close(self) -> None

标签:文件,None,self,mode,python3,open,def,指针
From: https://www.cnblogs.com/wd404/p/17324871.html

相关文章

  • python3-bytes
    1、介绍python3中,使用bytes类处理字节数据。2、类classbytes(object):"""bytes(iterable_of_ints)->bytesbytes(string,encoding[,errors])->bytesbytes(bytes_or_buffer)->immutablecopyofbytes_or_bufferbytes(int)->byt......
  • [云计算]Openstack中对象环、容器环、账户环的作用
    Swift中的环(Rings)是一种用于对象存储的分布式哈希表结构。环包含了一个元素列表和一个哈希函数,用于将一个对象ID映射到环上的一个元素位置,以便找到该对象在Swift中的存储位置。Swift中包含了三种类型的环,分别是对象环、容器环和账户环,下面是它们各自的作用:对象环对象环是用于定......
  • python3-type
    1、介绍type本身是内建模块中的一个类,其主要作用是用于判断变量的数据类型。2、类classtype(object):def__init__(cls,what,bases=None,dict=None):"""type(object_or_name,bases,dict)type(object)->theobject'stypetype......
  • python3-len
    1、介绍python3中,可以使用函数len获取容器对象的长度,比如str字符串、list列表等。2、函数deflen(*args,**kwargs):pass返回类型为int,如果长度为0,则就返回0不能对非容器变量使用,会报错,比如int、None值3、示例#不能对非容器变量使用,会报错#print(len(123))pri......
  • [OpenCV] 图像金字塔和图片缩放
    高斯金字塔:PyrDown图像变小,细节减少拉普拉斯金字塔:PyrUp图像变大,尽量弥补细节ResizeCV_EXPORTS_Wvoidresize(InputArraysrc,OutputArraydst,Sizedsize,doublefx=0,doublefy=0,intinterpolatio......
  • [OpenCV] 形态学滤波 (补充)
    作用:开运算(先腐蚀后膨胀):用来消除小物体,再纤细点处分离物体,并且再光滑较大的物体的边界的同时不明显改变其面积闭运算(先膨胀后腐蚀):能够排除小型黑洞形态学梯度(膨胀减去腐蚀):对二值图像进行这一操作可以把blob的边缘突出出来,我们可以用形态学梯度来保留物体的边缘轮廓顶帽......
  • [OpenCV] 漫水填充floodFill (类似于photoshop的智能填充)
    两个函数重载:CV_EXPORTSintfloodFill(InputOutputArrayimage,PointseedPoint,ScalarnewVal,CV_OUTRect*rect=0,ScalarloDiff=Scalar(),ScalarupDiff=Scalar(),intflags......
  • OpenCV图像连通区域分析(14)
    图像连通区域图像的连通域是指图像中具有相同像素值并且位置相邻的像素组成的区域,连通域分析是指在图像中寻找出彼此互相独立的连通域并将其标记出来。提取图像中不同的连通域是图像处理中较为常用的方法,例如在车牌识别、文字识别、目标检测等领域对感兴趣区域分割与识别。一般情况......
  • KubeSphere 社区双周报 | OpenFunction 支持 Dapr 状态管理 | 2023.03.31-04.13
    KubeSphere社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过commit的贡献者,并对近期重要的PR进行解析,同时还包含了线上/线下活动和布道推广等一系列社区动态。本次双周报涵盖时间为:2023.03.31-2023.04.13。贡献者名单新晋KubeSphereCon......
  • OSError: cannot open resource ImageFont.py 解决方法
    Traceback(mostrecentcalllast):File"C:/python37/pla.py",line7,in<module>newfont=ImageFont.truetype('./songti.ttc',60)#Songti.ttc代表字体,60代表字号File"C:\python37\lib\site-packages\PIL\ImageFont.py",......