python获取文件字节数_python关于文件操作中的字符个数和字节数
记得刚开始学习python文件操作写文件的时候有个问题,很奇怪。最后知道了就是字节数的原因。
我们先来看个例子。
新建个文件存为utf-8命名为0117utf-8.txt记得去掉BOM头。
我们用r+模式尝试去修改
>>> fp=open("d:\\pydelete\\0117utf-8.txt","r+")
>>> fp.write("aa")
2
>>> fp.close()
>>>
结果如下
乱码一大坨。
这里就涉及了字节数了。
因为utf-8存中文是用3个字节存一个,存英文是用1个字节存一个英文字符。
如果写入“aaa”就可以了。
所以切入正题,看看字节数和字符个数。
1.fp.read(arg),fp.write()后返回的数字是字符个数。
我们用刚才写过的文件读一下看看。
>>> fp=open("d:\\pydelete\\0117utf-8.txt","r+",encoding="utf-8")
>>> fp.read(1)
'a'
>>> fp.read(1)
'a'
>>> fp.read(1)
'a'
>>> fp.read(1) #可以看到这里的数字应该是字符个数,意思一个字符。
'国'
>>> fp.read(1)
'话'
>>> fp.read(1)
''
>>>
我们再来写入一些内容。
>>> fp.seek(0.0) #将游标切回行首
0.0
>>> fp.write("新写入2x")
5 #可以看到这里也是字符个数。表示写入5个字符。
>>>fp.flush()
我们算一个结果之前文件内容是“aaa国话”我们写入“新写入2x” 之前的文件字节数是9,现在写入11 r+模式会从头开始覆盖所以现在文件内容为“新写入2x”
如果写入的字节数小于之前的有可能出现乱码(如果原文件有中文存在)
2.fp.tell(),fp.seek(0,0) 是字节数
我们加游标切回行首,再来读下。
>>> fp.seek(0,0)
0
>>> fp.read(1)
'新'
>>> fp.tell()
3 #可以看出tell是返回的字节数,也就是游标现在应该在新字后边。
>>>
由此我们试着改变游标位置。
>>> fp.seek(0,0)
0
>>> fp.seek(6,0) #seek的第一个参数也是字节数,那现在游标在哪我如果读一个字符应该是什么? 游标应该在写字后如果读一个字符应该是“入”
6
----------
>>> fp.read(1)
'入'
3.fp.truncate(size)
把文件裁成规定的大小,默认是裁到当前文件操作标记的位置。如果size 比文件的大小还要,依据系统的不同可能是不改变文件,
也能是用0把文件补到相应的大小,也可能是以一些随机的内容加上去。参数也是字节数。
我们来尝试一下
>>> fp.seek(0,0)
0
>>> fp.truncate(6)
6
>>>
此时文件内容应该只剩下“新写”2字。
知道这些我们在写文件的时候,就能很清楚效果了。
关于字节数可以参考:
python获取文件字节数_python关于文件操作中的字符个数和字节数相关推荐
- python获取当前路径导包_python 通过文件夹导入包的操作
通过文件夹导入包要求每个目录下都有一个__init__.py文件,此文件可空白.也可不空.a@ubuntu:~/Desktop$ tree myp myp ├── a │ ├── b.py │ └── ...
- python获取接口返回值_Python+request 登录接口reponse的返回值token跨py文件的传递《二》...
主要使用场景: 一般我们在进行接口测试时,依赖登录接口后reponse中的某些返回值,因此需要将login接口单独写一个py文件,另外的py文件均可调用login的reponse返回值使用.共用登录接 ...
- python读文件完整代码_Python读写文件的代码示例
本篇文章给大家带来的内容是关于Python读写文件的代码示例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助 一.读取文件 读取文件步骤: 1.找到文件 2.打开文件 3.读取文件内容 ...
- python数学公式pdf文件的转换_python转换文件 多种文件转换为pdf
1.office文件 这里用的是win32com, 需要注意已经安装的python版本是32位还是64位. 安装后导入 from win32com.client import Dispatch, co ...
- python的文件读取方式_python中文件读取方式
指\u201CPython编程:从入口到实践\u201D和\u201CPython编程快速启动\u201D1.文件路径获取文件路径包括绝对路径和相对路径.绝对路径是指\u201CE: \\ \\\u2 ...
- 用python写一个文件管理程序下载_Python管理文件神器 os.walk
原标题:Python管理文件神器 os.walk 来自:CSDN,作者:诡途 [导语]:有没有想过用python写一个文件管理程序?听起来似乎没思路?其实是可以的,因为Python已经为你准备好了神器 ...
- python中对文件的操作_Python对文件操作知识
这篇文章主要介绍了Python对文件操作知识汇总的相关资料,非常具有参考借鉴价值,需要的朋友可以参考下 打开文件 操作文件 1打开文件时,需要指定文件路径和打开方式 打开方式: r:只读 w:只写 a ...
- python程序怎样在手机上_python手机文件怎么上传至电脑?
本文讲解python的一个内置文件传输下载器,可以用来在局域网内进行文件传输,当然可能有人会问,我用微信QQ也能传,为什么还要用python来传输下载?在此,其实我个人感觉的是,这种操作更简单,省了时 ...
- python如何读取文件指定行_Python读取文件、大文件和指定行内容的几种方法
在使用python处理文本的时候,经常会需要读取文件的内容.如果文件比较小,那么直接使用open文件对象打开文件,再通过read()方法最为方便,这种方法就是把文件内容读出来后放到内存变量. read ...
最新文章
- Lync 小技巧-49-Lync 自动备份-批量管理-用户(免费视频)
- zstack快速安装文档
- 长时间整理的xhtml网页设计规范
- 部分视图传viewbag_无法在ASP.NET MVC3的部分视图中访问ViewBag
- shell中的变量与eval(转)
- 记录C++ Builder 6.0开发过程中的一个linker error
- 给新手开店选品的建议
- Oracle Web链接客户端
- CAP 原理这样理解最简单
- alternate rows shading using conditional formatting
- 小程序_协作开发(版本控制)
- 后端如何收取多个文件_一次上传多个文件机制的两种解决方案
- adb ps shell 查看进程_adb shell查看进程方法
- 动手学深度学习之锚框
- 【大数据开发】ClickHouse——ClickHouse函数(全)
- Java Learning 000 搭建开发环境
- 自动插入匹配与标题相关的百度图片或者搜狗图片软件-批量插入txt文档-Chatgpt批量写文章配图神器
- 华为,做千行百业与数字化间的破壁人
- RISC-V 嵌入式 Rust 快速入门,基于 Renode 模拟器和 HiFive1 开发板
- 什么是人工智能模型的涌现特性?
热门文章
- LTV(CLV)模型的实战案例
- 15 款Python编辑器的优缺点,别再问我“选什么编辑器”啦!
- 27 行代码开发一个最简单的 SAP ALV 报表
- 如何在 Github 工作流文件里引用自定义实现的 action
- SAP S/4HANA Customer Management(CRM)模块的扩展性设计
- 如何获得tomcat管理员账号
- SAP ABAP SM50事务码和Hybris Commerce的线程管理器
- why our extension project didn't load S3 view and controller
- Angular:Use function as controller
- ActionTileViewController.js