文件操作:Python中的文件对象不仅可以用来访问普通的磁盘文件,而且也可以访问任何其它类型抽象层面上的“文件”。

通过Python程序来对计算机中的各种文件进行增删改查的操作,也叫I/O(Input / Output)操作。

我们操作文件的步骤:

① 打开文件

② 对文件进行各种操作(读、写),然后保存

③ 关闭文件

第一步:打开文件 我们使用open函数来打开一个文件,它的格式为:参数:file 要打开的文件的名字(路径)>>点击链接查看更多内容

上节课我们讲过在对文件进行操作之后必须要对文件进行关闭。

在Python中可以通过调用close()方法来实现这个功能,但是我们对于close的调用并不常见,因为比较麻烦,每次都必须在close之前去编写程序,有时候可能会忘记。python为了解决这种麻烦,提供了一种方法:with ... as 语句,一旦with结束则文件会自动close()。>>点击链接查看更多内容

本节课为大家介绍文件的简单读取,依然是读取demo.txt文件。

首先创建该文件,然后对文件进行操作,并将操作过程使用try..except来包裹一下,捕捉异常。这就完成了基本的代码框架搭建,接下来介绍一下如何对文件进行读取的操作。

可以通过 read() 来读取文件中的内容。但是如果文档的编码格式是ASCII之外的就会导致编码错误,此时可以指定文件的编码格式来解决该问题。>>点击链接查看更多内容

上节课我们讲了可以使用read来读取文件,但是如果直接调用read()它会将文本文件的所有内容全部都读取出来;如果要读取的文件较大的话,会一次性将文件的内容加载到内存中,容易导致内存泄漏;所以对于较大的文件,不要直接调用read()。

那该如何读取大文件呢?其实只需要调整read里面的一个参数即可>>点击链接查看详情

文件的读取除了read之外还有另外的三种方式:readline()、readlines()和for循环读取。readline()方法可以用来读取一行内容,readlines()方法用于一行一行的读取内容,它会一次性将读取到的内容封装到一个列表中返回,for循环默认读取全部文件。>>点击链接查看它们的用法

使用open()打开文件时必须要指定打开文件所要做的操作(读、写、追加),如果不指定操作类型,则默认是读取文件 , 而读取文件时是不能向文件中写入的。

在之前的课程(打开文件)中讲过打开文件时会默认有一个mode='r',而r 表示只读的。w 表示是可写的,所以我们只需要将它的类型修改为w即可进行写入操作。>>点击链接了解更多内容

本节课以读取音频文件为例介绍了二进制文本的读取方式,同时将读取到的内容写入到新的文件里,实现文件的内容和格式复制,并且打开该文件会发现复制后的文件依然是一个可播放的音频文件。>>点击链接查看详情内容

tell() 方法用来查看当前读取的位置; seek() 可以修改当前读取的位置,它需要两个参数,第一个是要切换到的位置,第二个是计算位置方式。它的可选值为:

1、0 从头计算,默认值

2、1 从当前位置计算

3、2 从最后位置开始计算

即先看第二个数字,假设是(x,0)则表示从文档的开始位置切换到第x个位置,如果是(x,1)则表示切换到从当前读取到的位置再向后x的位置开始,同理,如果是(x,2)则表示,切换到文档的末尾再向后x的位置开始,注意,x可以是负数。

如果在不是ASCII编码格式的文档中使用seek方法,要注意切换的位置>>点击链接查看详情

本节课介绍了一些文件的基本操作,包括新建文件、删除文件、切换文件所在的目录、显示文件当前所在的目录、重命名文件等一些操作。

1、os.listdir() 用于获取指定目录的目录结构,需要一个路径作为参数,会获取到该路径下的目录结构,默认路径为 . 当前目录;该方法会返回一个列表,目录中的每一个文件(夹)的名字都是列表中的一个元素。

2、os.getcwd()可用于获取当前所在的目录。

3、os.chdir()切换当前所在的目录,作用相当于 cd;

4、os.mkdir()在当前目录下创建一个新的目录。>>点击链接查看其它操作和具体用法

获取更多有关Python的内容,请订阅

不是python对文件的读操作方法的是-一文读懂Python对文件的各种操作方式-阿里云开发者社区...相关推荐

  1. 利用python爬取飞猪信息_Python---20行代码爬取斗鱼平台房间数据(下)-阿里云开发者社区...

    在上一篇中,已经详细的讲解了如何获取数据,接下来是深度处理数据,这里调用xlsxwriter库来制作Excel表格. 工具:Python3.6.5,Pycharm 1.模块介绍 XlsxWriter模 ...

  2. python列表索引超出范围 等于啥_python如何解决IndexError:列表索引超出范围?-问答-阿里云开发者社区-阿里云...

    我正在尝试为ucf101数据集生成密集流,但我不断收到以下错误: 我尝试在第68行中将video_name.split('')[1]更改为video_name.split('')[0],已编译代码,但 ...

  3. python读取mssql文件_python 读取mssql数据库中文的搜索结果-阿里云开发者社区

    sphinx 配置文件全解析 sphinx的配置文件是在配置的时候最容易出错的了: 我们先要明白几个概念: source:数据源,数据是从什么地方来的. index:索引,当有数据源之后,从数据源处构 ...

  4. python路径分隔符_Python:当读取一个没有默认分隔符的文件(包含数百万条记录)并将其放入dataframe (pa-问答-阿里云开发者社区-阿里云...

    Python:在没有默认分隔符(包含数百万条记录)的情况下读取文件并将其放入"数据框架(panda)"中,最有效的方法是什么? 文件是:"file_sd.txt" ...

  5. python安装gz文件_python tar.gz怎么安装-问答-阿里云开发者社区-阿里云

    Windows环境: 安装whl包:pip install wheel -> pip install **.whl 下载whl文件 MySQL_python-1.2.5-cp27-none-wi ...

  6. python创建虚拟环境打包_用虚拟环境保存库文件--Python打包-阿里云开发者社区

    用虚拟环境保存库文件 如果你同时负责多个 Python 项目,或者想要轻松打包某个项目及其关联的库文件,再 或者你担心已安装的库之间可能有冲突,那么你可以安装一个 Python 虚拟环境来分而 治之. ...

  7. python django web典型模块开发实战_带你读《Python Django Web典型模块 开发实战》之一:从新浪微博聊起多端应用-阿里云开发者社区...

    Python Django Web典型模块 开发实战 点击查看第二章 点击查看第三章 寇雪松 编著 第1章 从新浪微博聊起多端应用 当人们听到"新浪",脑海里第一个浮现的关联词是& ...

  8. python读取hdf-eos5数据_《Python和HDF 5大数据应用》——2.4 你的第一个HDF5文件-阿里云开发者社区...

    本节书摘来自异步社区<Python和HDF 5大数据应用>一书中的第2章,第2.4节,作者[美]Andrew Collette(科莱特),胡世杰 译,更多章节内容可以访问云栖社区" ...

  9. 命令python所在的驱动器和文件夹_Python文件夹与文件的操作-阿里云开发者社区...

    最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动. 有关文件夹与文件的查找,删除等功能 在os模块中实现.使用时需先导入这个模块, ...

最新文章

  1. 2022-2028年中国乳制品行业市场需求预测与投资战略规划分析报告
  2. 5.3.4 TCP流量控制
  3. spark结构化流保存mysql_Spark结构化流异常:不支持没有水印的附加输出模式
  4. SAP Spartacus table cell如何通过cxOutlet在运行时动态注入组件
  5. 谷歌guava_Google Guava v07范例
  6. 随机数生成器c语言,句子随机生成器-怎么用C语言生成随机数
  7. 数据分析工具篇pyspark应用详解——Pyspark实现PCA主成分
  8. mybatis学习(8):The server time zone value '???ú±ê×??±??' is unrecognized or represents more
  9. BugkuCTF-Reverse题Timer(阿里CTF)
  10. Linux系统编程21:基础IO之全缓冲和行缓冲的区别及深刻理解缓冲区及其作用
  11. python怎么用字符画_用Python把图片变成字符画
  12. 分享:利用tcp_wrappers 保护服务安全
  13. winapi编程获取文件版本信息的代码_.Net调用WinAPI轻松实现POS小票并口打印
  14. 2019年长安杯 第一届电子数据取证竞赛 wp
  15. 影响ERP软件价格的要素有哪些?
  16. 转:诺贝尔经济学奖得主与数学
  17. SqueezeNet: Alexnet-level accuracy whith 50x Fewer Parameters And 0.5MB Model Size
  18. 竖子不足与谋(转自天下三国)
  19. 前端开发审查元素时CSS样式有个横线(该CSS样式定义后无效) 的解决办法
  20. 塔望3W消费战略全案丨绿力冬瓜茶 三十年饮料老品牌,两年复兴战全国

热门文章

  1. Java序列化闲聊:序列化和Json
  2. flutter学习(排雷)一
  3. DNS解析污染原理——要么修改包,要么直接丢弃你的网络包
  4. Spark技术在京东智能供应链预测的应用——按照业务进行划分,然后利用scikit learn进行单机训练并预测...
  5. wiredtiger存储引擎介绍——本质就是LSM,当然里面也可以包含btree和列存储
  6. cayley 图数据库
  7. 算法题:实现一个IP白名单过滤器
  8. [工具]Tomcat CVE-2017-12615 远程代码执行
  9. C语言 经典编程100
  10. 第4章 DHCP服务