鄙人学习笔记


文章目录

  • 二进制文件读写
    • 举个例子1(以二进制方式打开并读取txt文件)
    • 举个例子2(以二进制方式打开并读取图片)
    • 举个例子3(二进制文件打开并写入操作)
  • 关闭文件
  • with操作
    • with语句的语法格式
    • 举个例子

二进制文件读写

file_object = open(file_name, access_mode='r', buffering=-1)
功能:打开一个文件,返回一个文件对象。
参数:file_name————文件名;access_mode————打开文件的方式,如果不写默认为‘r’ 文件模式                        操作rb                   以二进制读模式打开 同rwb                   以二进制写模式打开 同wab                   以二进制追加模式打开 同arb+                  以二进制读写模式打开 同r+wb+                  以二进制读写模式打开 同w+ab+                  以二进制读写模式打开 同a+

举个例子1(以二进制方式打开并读取txt文件)

首先看一下要读取的文件数据:

读取:

结果:

由结果可知,我们得到了一堆字节串。
在网络传输的过程中,要求不能传输字符串,只能传输字节串,则可以用这种方式进行去读取。

我们可以用decode()将字节串转换成字符串:

结果:

举个例子2(以二进制方式打开并读取图片)

我们先看一下我们的图片:

我们以r的形式打开文件:

结果:

会报错!所以,我们如果要打开二进制编码的文件(视频、音频),必须要以二进制的打开方式(字节串的打开方式)。
备注:二进制的方式(字节串的打开方式)可以打开所有文件。

我们以rb的形式打开:

部分结果:

举个例子3(二进制文件打开并写入操作)

写入:

备注:我们以wb的形式打开文件,则必须要以字节串的形式写入,故我们要在字符串【hello world】前加【b】,将其转化为字节串。

结果:

关闭文件

file_object.close()

打开一个文件后我们就可以通过文件对象对文件进行操作了,当操作结束后使用close()关闭这个对象可以防止一些误操作,也可以节省资源。

with操作

python中的with语句使用于对资源进行访问的场合,保证不管处理过程中是否发生错误或者异常都会执行规定的“清理”操作,释放被访问的资源。比如,文件读写后自动关闭、线程中锁的自动获取和释放等。

with语句的语法格式

with context_expression [as target(s)]:with-body

备注:context_expression为条件语句,as target(s) 表示将条件语句生成一个target(s)对象,with-body为语句块。在执行完语句块后,生成的对象会被自动清理。

通过with方法可以不用close(),因为with生成的对象在语句块结束后会自动处理,所以也就不需要close了,但是这个文件对象只能在with语句块内使用:

with open('file','r+') as f:f.read()

上面这段代码的意思是,将打开的文件对象定义为f, 之后用f进行读取操作,当语句块结束后,会自动清除文件对象f.

备注:并不是所有对象都能用with.

举个例子

代码:

结果:

网络编程(part3)--文件读写之二进制文件读写/with操作相关推荐

  1. qfile 创建文件_Qt之二进制文件读写

    点击上方"Qt学视觉",选择"星标"公众号重磅干货,第一时间送达 想要学习的同学们还请认真阅读每篇文章,相信你一定会有所收获 除了文本文件之外,其他需要按照一定 ...

  2. 脑残式网络编程入门(二):我们在读写Socket时,究竟在读写什么?

    转载自 http://www.52im.net/thread-1732-1-1.html 1.引言 本文接上篇<脑残式网络编程入门(一):跟着动画来学TCP三次握手和四次挥手>,继续脑残式 ...

  3. mfc打开指定路径下指定类型文件_Windows 网络编程:文件操作

    一次性进群,长期免费索取教程,没有付费教程. 教程列表见微信公众号底部菜单 进微信群回复公众号:微信群:QQ群:460500587 微信公众号:计算机与网络安全 ID:Computer-network ...

  4. Winsock网络编程头文件及库文件的设置

    Winsock是Windows下网络编程的规范.使用Winsock可以实现基于TCP或UDP的通信. 1 Winsock版本 Winsock主要包含两个版本,即Winsock1和Winsock2.Wi ...

  5. java 开发文档协作_Java 网络编程---分布式文件协同编辑器设计与实现

    目录: 第一部分:Java网络编程知识 (一)简单的Http请求 一般浏览网页时,使用的时Ip地址,而IP(Internet Protocol,互联网协议)目前主要是IPv4和IPv6. IP地址是一 ...

  6. 网络编程(part5)--文件读写偏移量及文件描述符

    鄙人学习笔记 文章目录 文件读写偏移量(文件指针) 定义 举个例子1(读写操作的文件偏移量) 举个例子2(文件偏移量的初始位置验证) 基本操作 举个例子1(tell()函数) 举个例子2(tell() ...

  7. 网络编程(part2)--文件读写之打开/读取/写入

    鄙人学习笔记 文章目录 文件读写 打开文件 举个例子1(以读方式打开) 举个例子2(以写方式打开) 读取文件 read 举个例子1 readline 举个例子2(继续用例子1的note.txt文件) ...

  8. JAVA编程TXT文件_java开发之读写txt文件操作的实现

    项目结构: 运行效果: ======================================================== 下面是代码部分: ====================== ...

  9. java读取安卓本地文件_Java Android 二进制文件读写

    1.读取android工程中本地二进制文件 Android studio工程目录中有二进制文件abcd.raw . 二进制文件所放目录 app/src/main/assets/abcd.raw 1.1 ...

最新文章

  1. python散点图拟合曲线-python散点图拟合
  2. Linux目录结构及作用
  3. 【AI测试】机器学习项目的测试,算法测试
  4. 使用mac以来的一些认识
  5. 小程序中input标签没有反应_鸢尾花预测:如何创建机器学习Web应用程序?
  6. Maven学习总结(7)——eclipse中使用Maven创建Web项目
  7. SpringBoot实战(十四):Spring Boot Admin 集成安全模块
  8. MYSQL数据库导入大数据量sql文件失败的解决方案
  9. react脚手架构建工程
  10. java jre 7_jre1.7官方下载|
  11. 简单好用的每日任务管理小工具-sticker桌面便签
  12. RTL8153 VC CG
  13. 地球物理及空间物理相关数据下载
  14. pil.unidentifiedimageerror: cannot identify image file
  15. 获取微信小程序wx.login 生成的code
  16. 关于unity场景切换后模型变黑问题
  17. EventLoopGroupEventLoop
  18. SQL实战(51到60题)
  19. 我在大学所构建的技术体系
  20. Windows 10更新 virtualbox(应用)不兼容问题(isn‘t compatible with Windows 10)

热门文章

  1. 机器学习问题方法总结
  2. python函数返回值_Python中函数的返回值示例浅析
  3. Cacti auth.php,Cacti微信企业号图文报警
  4. 微服务中集成分布式配置中心 Apollo
  5. 用Scrutor来简化ASP.NET Core的DI注册
  6. MySQL中int、char、varchar的性能浅谈
  7. Spark-core(核心)的基本介绍
  8. Service Fabric下删除实例并注销应用
  9. Spring源码由浅入深系列一 简介
  10. SylixOS下基于NUC970的NAND驱动