前言:本专栏以Python为主题,并尽可能保持每星期两到三更,直到将Python的基础知识浅析和讲解完毕,同时,有一定基础的同学可以移步 Python实战专栏 。

  1. 文件有有什么用

文件可以看作一个仓库,仓库的主要作用自然是存取东西,那为什么需要操作文件呢?这是因为代码在执行完毕时,有些数据需要暂时存储,等待下次需要的时候再拿出来,就好像你使用word软件来编辑文档的时候,需要将你的修改存储到word文档里面,以便后续使用,如果不保存,那你的产出很可能就白费了

  1. 文件的操作模式

还是把文件比作仓库,那对于仓库的操作大概有这么几种:

  1. 观仓
    观仓重点在于观,可远观而不可亵玩焉,我们只能看着它,不能动它,在Python中对应 r 模式(全称为read),这是在Python中的默认文件操作模式
  2. 加仓
    加仓重点在于加,即往仓库中加东西。这在 Python中对于的操作模式是 a 模式 (应该是append的缩写吧),使用这种模式后,如果文件不存在就会创建一个新的文件,后面的追加操作会直接将内容追加到文件末尾。
  3. 清仓
    清仓重点在于清,即清理仓库,为什么要清仓呢?可能是之前的仓库太杂了,我想给它改头换面,重新装修它。这在 Python中对应文件的 w 模式,改模式的作用是新建或者清空已经存在的文件,从而得到一个空文件。
  4. 特殊的仓库
    有些仓库是比较特殊的,它里面存储的东西我们可能无法直接看懂,例如图片,这是一种二进制文件,我们是无法通过肉眼观察然后将其翻译为其所展示的图像的,需要借助图片查看器等"翻译软件"才能看懂图像。图片、音频、视频之类的文件就是二进制文件。在 Python中,操作二进制文件需要在上面 3 种模式种加上 b (byte),例如:wb ab rb这三个。
  5. 增强模式
    增强模式是指在单个操作模式,例如 r ,加上一个 + 号 ,就能额外获得其反面技能,比如r的反面是w ,那么 r+表示可读可写 w+ 也表示可读可写 两种不同之处是 r+ 操作的时候文件必须存在,否则程序就会报错。
  6. 文件操作代码实现的几种方式

r 模式操作

#  ############ 请先在代码文件目录创建一个叫做 test.txt 的文件 并在里面写入 Hello 这么一个词并保存
# 指定文件名 可以是 test.txt 和 C:/test.txt 这两种格式(还有相对路径表示方法)
# 如果 文件和代码处于同文件夹可以省略
path = 'test.txt'
# open 函数用法 open(文件路径,操作模式) 操作模式可以省略 默认为 r
# 打开 test.txt 文件
f = open(path)
#  read() 方法获取文本文件全部内容
content = f.read()
print(content)
# close()方法关闭文件
f.close()

以上代码的作用是打开 test,txt 这个文件并获取和输出其含有的全部内容

a 模式操作

# 指定文件名 可以是 test.txt 和 C:/test.txt 这两种格式(还有相对路径表示方法)
# 如果 文件和代码处于同文件夹可以省略
path = 'test.txt'
# open 函数用法 open(文件路径,操作模式) 操作模式可以省略 默认为 r
# 以a模式打开 test.txt 文件
f = open(path,'a')
# write 方法写入文件 write里面的参数是要写入的内容 这里操作的是文本文件 写入的类型是字符串
f.write('World!')
print('World 已写入文件里面!')
f.close()

以上代码的作用是在 test.txt 这个文件里面写入 ‘World!’ 这个字符串,特别要注意的是 open函数里面多了一个字符串类型的参数,它就是显式的操作模式,如省略则默认为 r

w 模式操作

python # 指定文件名 可以是 test.txt 和 C:/test.txt 这两种格式(还有相对路径表示方法) # 如果 文件和代码处于同文件夹可以省略 path = 'test.txt' # open 函数用法 open(文件路径,操作模式) 操作模式可以省略 默认为 r # 以w模式打开 test.txt 文件 不存在则新建 存在则清空 f = open(path,'w') print('文件已创建或清空!') # close方法关闭文件 f.close()

以上代码的作用是新建一个叫做 test.txt 的文件 如果已经存在就清空这个文件,运行之后再打开改文件 可以看到内容为空

rb 模式操作

#  ############ 请先在代码文件目录创建一个叫做 test.txt 的文件 并在里面写入 Hello 这么一个词并保存
# 指定文件名 可以是 test.txt 和 C:/test.txt 这两种格式(还有相对路径表示方法)
# 如果 文件和代码处于同文件夹可以省略
path = 'test.txt'
# open 函数用法 open(文件路径,操作模式) 操作模式可以省略 默认为 r
# 以wb的方式打开 test.txt 文件 test.txt 文件里面的可看到的内容是 Hello
f = open(path,'rb')
#  read() 方法获取文本文件全部内容
content = f.read()
print(content)
# 输出结果 b'Hello'
# close()方法关闭文件
f.close()

  1. 文件常用操作方法

5.读取文件报错的可能原因

对于文本文件,读取报错的可能原因是文件的编码问题 ,例如你的文件可能是用 UTF-8 的方式编码的,但文本文件的默认打开方式可能是 UTF-8 ,这时候可能有些不兼容,你需要做的是在open()函数里面指定一个编码方式,例如 UTF-8 和GBK等,演示代码如下

path = 'test.txt'
# encoding = 后面加一个表示编码方式的字符串 例如 UTF-8 GBK utf-8 等等
f = open(path,'r',encoding = 'utf-8')
#  read() 方法获取文本文件全部内容
print(f.read())
# close()方法关闭文件
f.close()

以上是对Python中的一些文件基本操作的讲解 其中还有一个 with 操作方法没有说,这个同学们可以自己去了解,后面在实战系列中会有所涉及。

最后,本基础系列文章可能还有两篇就结束了,后面的重心会转移到实战专栏,让大家更好地运行 Python ,欢迎有疑惑或者对文章有所见解的同学在评论区讨论噢!

python中二进制文件_Python学习基础篇 -6: Python中的文件操作相关推荐

  1. python中文件操作中不同的文件操作有何差异_Python学习基础篇 -6: Python中的文件操作...

    前言:本专栏以Python为主题,并尽可能保持每星期两到三更,直到将Python的基础知识浅析和讲解完毕,同时,有一定基础的同学可以移步 Python实战专栏 .文件有有什么用 文件可以看作一个仓库, ...

  2. else应输入一个语句是什么意思_Python学习基础篇 -4: Python中的转弯---分支语句

    前言:本专栏以Python为主题,并尽可能保持每星期两到三更,直到将Python的基础知识浅析和讲解完毕,同时,有一定基础的同学可以移步 Python实战专栏 . 背景:对于该系列文章的前三篇,自己读 ...

  3. python传递参数格式_Python语言学习基础篇之Python发送Post请求之根据参数位置传参、数据类型、不同方式传参...

    本文主要介绍了Python语言学习基础篇之Python发送Post请求之根据参数位置传参.数据类型.不同方式传参,通过具体的内容向大家展现,希望对大家Python语言的学习有所帮助. 目录 一.验证 ...

  4. python语言入门m-Python学习基础篇 -1

    前言:本专栏以Python为主题,并尽可能保持每星期两到三更,直到将Python的基础知识浅析和讲解完毕,同时,有一定基础的同学可以移步 Python实战专栏 . 第一篇:Python中的输入与输出 ...

  5. python教学视频m_Python学习基础篇 -1

    前言:本专栏以Python为主题,并尽可能保持每星期两到三更,直到将Python的基础知识浅析和讲解完毕,同时,有一定基础的同学可以移步 Python实战专栏 . 第一篇:Python中的输入与输出 ...

  6. python硬件编程_Python学习日记_《Python硬件编程实战》笔记_Mr_Ouyang

    书名: Python硬件编程实战 作者: 李茂 出版社: 机械工业出版社 [此处需要插入图片 Python封面] 笔者简评:不太适宜购买,全书大篇幅在用图片来解释极简单的细节,对于那些需要作者去深挖. ...

  7. python采集文章_python学习基础之信息采集

    今天在网上看了一部小说,明明是很早以前的小说,换个名字,居然要付费了,很不开心:通过强大的百度,我找到了原始版本,本来很开心了,奈何不能下载,眼睛很辛苦,我本意是下下来拿到手机上朗读的,没办法只能自己 ...

  8. python递归创建目录_Python学习第172课——Linux中一次性创建多层目录以及递归列出所有子目录...

    我们现在是学习Linux,Linux是服务器.云计算方面的东西,我要把这些东西都掌握,我们现在要开始去学,那我们现在在桌面专门建一个文件夹,名字叫做Linux,这个文件夹用来保存我们专门去学习的东西. ...

  9. python创建虚拟环境_Python学习笔记:创建Python开发Web程序的虚拟环境

    学习Excel技术,关注微信公众号: excelperfect 这段时间利用业余时间在断断续续地看Eric Matthes著的<Python编程从入门到实践>这本书,毫不夸张地说,这真的是 ...

最新文章

  1. Java学习总结:33(System类)
  2. vue基于element-ui制作的成绩管理系统(四)个人信息
  3. 串口服务器芯片方案商,串口服务器芯片
  4. Ext JS 3.2.1 字段组件父类 Ext.form.field.Base
  5. Linux高级实用命令
  6. Spring中获取request的方法及其线程安全性分析
  7. vscode不能跳转_vscode-goto-node-modules 一个快速定位 node 模块的 vscode 插件
  8. NYOJ241 - 字母统计
  9. MyBatis-Spring-Boot 使用总结
  10. routerOS限速限流量
  11. 中jsp加载不出来layui_Maven+JSP+SSM+Mysql实现的学生选课系统
  12. Java旅游管理系统
  13. 这些mac软件可以提高办公效率
  14. python常用数学符号_数学菜鸟的AI学习攻略-AI学习常用数学符号 - 老牛博客
  15. 参考文献格式字号字体_参考文献标准格式字体
  16. Excel表格快捷键使用
  17. JS重点整理之JS原型链彻底搞清楚
  18. dw怎么保存html格式,教你如何用Dreamweaver制作网页以及保存网页的方法--系统之家...
  19. IDEA前进后退快捷键设置
  20. 如何使用计算机中的导出,微信里的文件导入电脑(如何用数据线导出微信文件)...

热门文章

  1. Python入门100题 | 第015题
  2. Hadoop中-put和-copyFromLocal的区别
  3. AWS re-Invent最新发布AI产品解析:场景为王
  4. 详解云原生机器学习平台的优势
  5. tomcat:there is no resources that can be added or removed from server
  6. Mysql数据库存储引擎--转
  7. 从源码角度深入分析ant
  8. Caching Best Practices--reference
  9. mina应用程序架构(翻译)
  10. Python 面向对象(初级篇) 2015/09/04 · 基础知识 · 2 评论 · 面向对象 分享到: 24 原文出处: 武沛齐 cnblog Python 面向对象(初级篇) 概述