Python 基础(7)(文件的读取)(python读取文件的操作方法)
off999 2024-10-10 07:53 49 浏览 0 评论
文件读取,在实际运用中,更多的是做文件的导入导处的操作。常用的方法也不多;如果项目是偏IO方面,或者说是日志分析的项目,也许io读取是比较频繁的。
1 ,文件的读取
1)常用的读取操作
输出结果:四个以下相同的输出结果
要记住一点,要尽量用with open("path...") as f , 这样就不用手动close,默认会帮我们自动关闭操作的句柄。每一个读取都是一个线程,如果不关闭,总会耗费一些资源,所以不用with open("path...") as f ,就必须在使用完之后,手动关闭。
其次,f.readline() 在实际的操作使用会多一点,很多字符串的操作是按行操作来进行的,或者每次安装指定的字节大小读取文件,直到读取完为止。
2)读取指定的字节量
输出结果:
这里,我们用encoding='UFT-8',如果不这样就有可能会输出乱码,因为有逗号,句号是gbk编码的,需要做一个字符编码的解码。
f.read(10)是文件一次读取十个字符,一个汉字符占用3个字节,使用的逗号是gbk的,转为utf-8也是占用3个字符,所以共有30个字节。而f.tell() 告诉我们的就是所在的字节位置,第一个字节位置为0,那么31个字节的位置为30;
如果你们公司是做分布式下载或者多线程下载应用,可能会用到把文件进行切片,然后在合成一个大文件,其实,很多大数据的文件传输都是这么做的。它们通常都是先计算文件的大小,然后按切片大小切分文件,分线程进行传输,传输到目的网络,然后在进行切片组装成文件。使用的就是f.seek(offset,whence)来进行切片:
offset:是偏移量,whence:0 代表从文件的开始位置开始计算偏移量,1 代表从当前指针的位置计算偏移量(即文件读取到某字符的位置),2 代表从文件结束的位置计算偏移量。例如上面的f.seek(207, 0),读取50字符就:【是冰了。小熊一蹦三尺高,开心地想:“我可以去溜冰了。”于是,它兴冲冲的跑回了家,对妈妈说:“妈妈,我要】
获取文件的大小,可以用:os.path.getsize
还有一个很重要的就是文件的读取模式:
上面已经用到'r',a+ 模式是最强大的,可读可写,可追加,如果文件不存在,还会自动创建文件,当然在用的时候一定要考虑用户的权限,不是任何人都可以调用的方法,应该有所限制,不然存在安全隐患。
2 ,文件的写入
这一块也就没有什么好讲,主要是要自己动动手,看看写入文件是不是你想要的。
shutil是一个python3.6 自带的工具类,提供一些简便的操作方法,若是没有也可以自己实现,可以直接看看源代码去学习。
文件内容的比较 可以去参考 difflib模块 SequenceMatcher 也是很强大的,可是用到的比较少。
3,文件的属性
输出结果:
os.stat 返回的是文件的所有状态;glob.glob是文件路径匹配,支持正则表达式,返回是目录下所有匹配的文件。其他,一看便懂,便不讲了。
4,目录的常见操作
输出结果:
os.mkdirs是创建多级目录,而os.mkdir只是创建单级目录。os.listdir(".") 返回是一个当前目录的列表;而os.walk 才是一个重头戏,返回的是递归后的所有文件,root表示父级路径,dirs表示文件名,files所有的文件名。要获取绝对路径,必须用:os.path.join(root,filepath) 获取。
5,补充:Excel的读写操作
excel的读取
excel的写入
具体返回什么,那你们要在自己的电脑里创建文件,并做尝试了,这就不做深入分析了。
总结:
总结:感觉这章内容很多,其实不多,主要是读取部分,不外乎with open(XXX) as f ,接下按行读取或者写入即可。具体,一定要好好敲一遍代码,才有感觉。后面的扩展例子,操作excel也好好敲敲代码,也是十分好懂的。
相关推荐
- win10分辨率只有两个选项(win10分辨率就三个)
-
win10显示分辨率只有两种是因为显卡驱动安装不正确。解决办法:1、台式机电脑,检测电脑的显卡型号,如果为独立显卡,直接去显卡品牌的官方网下载相应型号的驱动程序的最新版;如果为集成显卡,建议去主板品牌...
- cad序列号和密钥2014激活(cad序列号和密钥2014无效怎么办)
-
序列号:356-72378422,密钥:001F1AutoCAD2014需要本地注册运行,别人无法帮你算出受人以鱼不如受人以渔要关闭杀毒软件和助手(切记:如果是Vista或windows7系统,请务必...
- 电脑上下划线怎么打出来(电脑上下划线怎么打出来快捷键)
-
1.可以打开电脑中的word软件。然后在word软件中找到插入中的符号,并点击。2、点开符号,然后在符号中找到其它符号,并点击进入。3、在符号里面,可以直接找到下划线的按钮。4、接下来直接点击下划线的...
- qq官网下载安卓手机版下载(qq官网下载最新版本下载)
-
苹果手机qq里传的软件安装方法如下:1、首先,我们打开手机上的qq软件。2、找到好友发送的软件链接,因为直接发安装文件,iOS没办法识别,无法安装。3、点击链接,我们跳转到appstore,点击允许...
- win8安装应用商店(win8.1安装应用商店)
-
Windows11系统怎么重新安装应用商店,首先你要把你的电脑打开,然后连接上网络,使你的网络运行正常,这样你可以去电脑的浏览器里面。搜索应用商店,然后进行下载,下载成功以后,你可以根据系统的提示把...
- 下载wifi万能钥匙免费自动连接
-
万能钥匙自动连接WiFi存在一定的安全隐患。一些不法分子利用万能钥匙的漏洞,进行网络攻击或窃取个人信息。这些不法分子可以通过万能钥匙连接到公共无线网络,并在连接成功后,进行恶意攻击或获取其他用户的网上...
- 物理内存占用过高怎么解决(物理内存占用过高怎么解决win7)
-
你要搞清楚你电脑是为什么100%,一般来说三个方面原因既硬件因素,也有软件因素,还有操作习惯因素。一硬件如电脑购置较早,随便软件发展给内存占用越来越高,增加物理内存如果主板有多余内存插槽,可通...
- word打不开应用程序无法正常启动
-
原因:软件冲突手机上安装的软件过多,因为各自优化的程度不同,很容易出现冲突导致无法启动此应用程序请尝试,特别是同类型的软件安装过多,就更容易出现这种现象。处理方法:定期检查自己的手机,不用的应用可以及...
- 电脑键盘有几个键失灵(电脑键盘有几个键失灵了怎么办笔记本)
-
如果您的电脑键盘有多个键失灵了,可能是由于灰尘或污垢积累、键盘本身损坏等原因引起的。以下是一些您可以尝试的修复方法:1.清洁键盘:使用清洁喷雾剂或压缩空气吹掉键盘上的灰尘和污垢。也可以用拆开键帽的方...
- 新电脑无法打开网络的解决方法
-
win11系统进不去: 1.首先我们可以重启电脑,然后在开机的时候按F8进入到系统修复页面,选择“疑难解答”。 2.我们在疑难解答页面中,点击高级选项。 3.在页面中,我们找到卸载更新并点击它,...
- 电脑连接投影仪快捷键(笔记本电脑如何连接投影仪)
-
电脑如何设置于投影的仪连接的电脑快捷键电脑连接投影仪的快捷键: 1、可以通过使用“FN+F4”或“FN+F8”组合键来切换投影仪画面。 2、如果使用的是WIN7及以上系统,可以按“WIN+P”组合键,...
- 手机远程桌面连接电脑(手机远程桌面连接电脑app)
-
想要使用手机远程桌面连接电脑,需要使用一款支持远程桌面协议的应用,比如MicrosoftRemoteDesktop或TeamViewer等。首先,需要在电脑上安装相应的远程桌面服务,并开启远程桌面...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
