python文件句柄_Python 文件操作学习 就是这么简单!-文件句柄

python文件句柄_Python 文件操作学习 就是这么简单!-文件句柄一、前言Python对文件的操作是相当简单的。二、文件操作函数的介绍Python通过open函数来打开文件,语法如下open(file,mode=‘r’,buffering=None,encoding=None,errors=None,newline=None,closefd=True)可以看到,除了第一个file参数是必须的,其它都是可选的。1、file:操作的文件2、mode:操…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一、前言Python对文件的操作是相当简单的。

二、文件操作函数的介绍Python 通过open函数来打开文件,语法如下

open(file, mode=‘r’, buffering=None, encoding=None, errors=None, newline=None, closefd=True)可以看到,除了第一个file参数是必须的,其它都是可选的。

1、file:操作的文件

2、mode:操作模式,默认为’r’,表示读模式。其它模式为‘r’:读模式

‘w’:写模式

‘a’:追加模式

‘b’:二进制模式(可添加到其它模式中使用,如rb表示二进制读,一般用来读一些视频或者音频文件)

‘+’:读/写模式(可添加到其它模式中使用,如r+ 表示可读写)3、buffering:是否有缓冲,默认是无缓冲,如果传0或者False也是无缓冲,如果传1或者True默认是有缓冲。使用缓冲的好处是提高程序的执行速度,但是使用缓冲的话需要注意:一定要执行flush或者close时缓冲中的数据才会同步到硬盘上。如果传递大于1,如1024则代码缓冲的大小,表示1M。

4、encoding:指明对文件编码,仅适用于文本文件。如果不明编码方式,默认是使用locale.getpreferredencoding()函数返回的编码方式。

5、errors:指明编码和解码错误时怎么样处理。不能在二进制的模式下使用。1、设置’strict’则编码出错则抛出异常ValueError。

2、设置’ignore’则忽略错误。

3、设置’replace’则使用某字符进行替代模式,比如使用’?’来替换出错的。

4、其它少用的还有surrogateescape/xmlcharrefreplacs/backslashreplace。6、newline:在文本模式之下时,控制一行的结束字符。可以是None,’’,\n,\r,\r\n等。

7、closefd:是用来当给一个文件句柄传进来时,而当退出文件使用时,而不对文件句柄进行关闭。如果传递一个文件名进来,这个参数无效,必定为True方式。

三、使用方法我们通过编写demo来学习文件的操作方法。

如下,如果my_file.txt不存在,会自动创建,模式为写模式

python文件句柄_Python 文件操作学习 就是这么简单!-文件句柄执行完上面代码之后,你应该会发现当前目录下多出了一个my_file.txt文件。

如果我们的mode保持默认的操作模式,默认为读,那么程序就会报错,修改代码如下

python文件句柄_Python 文件操作学习 就是这么简单!-文件句柄执行时你会发现,程序报错了,所以如果要写数据到文件记得要修改操作模式哦。

我们也可以直接写入一个数据集合

python文件句柄_Python 文件操作学习 就是这么简单!-文件句柄当然,我们还可以随自己所想,如果文件中已存在内容,我们可以指定从哪点开始写

python文件句柄_Python 文件操作学习 就是这么简单!-文件句柄执行结果为:hexxxxxxxx! 你会发现,确实是从第2个开始写xxxxxxxx

OK,我们看一下如何读文件中的数据,file对象提供了三个方法进行读操作1、read : 每次读取整个文件,通常将文件内容读取出来存放到一个字符串变量中。对于过大的文件则会出现问题

2、readline :每次只读取一行。

3、readlines :每次读取整个文件,读取后自动将文件内容分析成一个行的列表,该列表可以由 for… in … 进行遍历处理。

– 三个方法都可以传入一个变量控制每次读取的数据量。如:假设以字符模式读取read(4)表示读前4个字符数据。

– 示例代码如下

python文件句柄_Python 文件操作学习 就是这么简单!-文件句柄输出如下:

python文件句柄_Python 文件操作学习 就是这么简单!-文件句柄因为内容只有一行,所以f.read()和f.readline()读到的数据是一样的。而f.readlines()则返回一个列表类型的结果。

一般情况下,小文件可以优先考虑使用read和readlines,因为一次性读取文件,性能会好一些,当然是在文件不大, 内存足够的情况下,如果是大文件只能使用readline一行一行来了。

读取大文件推荐方法1、读取大文件是,可以使用fileinput模块,其已包含了打开文件的函数,我们只需要传递文件名给它就可以了

示例代码:

python文件句柄_Python 文件操作学习 就是这么简单!-文件句柄喜欢就给我点赞哦,有好的建议或者其它问题都可以留言相互讨论学习哦!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/180744.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 文件上传-文件名长度绕过白名单限制[通俗易懂]

    文件上传-文件名长度绕过白名单限制[通俗易懂]  在实际***中,当我们发现有文件上传的地方时,我们会尽可能地尝试所有的办法进行webshell的上传,只要能上传webshell,就说明本次***至少成功了一半,后续就看获得的webshell的权限情况进行下一步的操作。对于文件上传漏洞的防护来说,主要分为以下两类:白名单限制和黑名单限制,对于黑名单的限制,我们只需要寻找一些较为偏僻的可执行后缀、大小写混写以及相关操作系统的特性(如windo…

    2022年10月19日
  • origin安装嵌入python_python爬虫之git的使用(origin说明)

    origin安装嵌入python_python爬虫之git的使用(origin说明)1、首先我们回忆两个命令#gitremoteaddorigin远程仓库链接#gitpush-uoriginmaster我们一起看看这个命令,git是git的一级命令,push就是下载,-u应该使用用账户验证maser就是分支的名字(前面我们说过),那么这个origin是个什么鬼?大家看看下面的这个5毛钱图,就能发现,其实origin就是远程仓库的名称。如果不相信在看看我的配置文件#…

  • ES6之async与await

    ES6之async与await

    2020年11月19日
  • カード名義_acwing题库

    カード名義_acwing题库原题链接给定一棵包含 n 个节点的有根无向树,节点编号互不相同,但不一定是 1∼n。有 m 个询问,每个询问给出了一对节点的编号 x 和 y,询问 x 与 y 的祖孙关系。输入格式输入第一行包括一个整数 表示节点个数;接下来 n 行每行一对整数 a 和 b,表示 a 和 b 之间有一条无向边。如果 b 是 −1,那么 a 就是树的根;第 n+2 行是一个整数 m 表示询问个数;接下来 m 行,每行两个不同的正整数 x 和 y,表示一个询问。输出格式对于每一个询问,若 x 是 y 的祖先则输

  • A站、B站、C站、D站、E站、F站、G站、H站、I站、J站、K站、L站、M站、N站、T站…Z站 ?

    A站、B站、C站、D站、E站、F站、G站、H站、I站、J站、K站、L站、M站、N站、T站…Z站 ?A站AcFun弹幕视频网,简称“A站”,成立于2007年6月,取意于AnimeComicFun,是中国大陆第一家弹幕视频网站。A站以视频为载体,逐步发展出基于原生内容二次创作的完整生态,拥有高质量互动弹幕,是中国弹幕文化的发源地;拥有大量超粘性的用户群体,产生输出了金坷垃、鬼畜全明星、我的滑板鞋、小苹果等大量网络流行文化,也是中国二次元文化的发源地。B站全称“哔哩哔哩(bilibili)”,是一家弹幕视频网站,前身是Mikufans,Miku也就是初音未来。主要是以鬼畜、动漫、.

  • 普通正态分布如何转换到标准正态分布中_正态分布化成标准正态的公式

    普通正态分布如何转换到标准正态分布中_正态分布化成标准正态的公式1.普通正态分布转换标准正态分布公式我们知道正态分布是由两个参数μ\muμ与σ\sigmaσ确定的。对于任意一个服从N(μ,σ2)N(\mu,\sigma^2)N(μ,σ2)分布的随机变量XXX,经过下面的变换以后都可以转化为μ=0,σ=1\mu=0,\sigma=1μ=0,σ=1的标准正态分布(standardnormaldistribution)。转换公式为:z=X−μσz=\…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号