前文

最近不是出了一个30天的Python教程,有很多人私信我说没有资料怎么跟着学习,现在他来了https://www.bilibili.com/read/cv9383238

今天,我探讨了如何使用Python处理文件并与文件进行通信。这些天来,我一直在探索和分享各种Python概念以及一些使用Python编程的最佳实践。但是,我们尚未在Python之外与外界进行交互。我们的程序经常出于各种原因需要与外部世界进行通信,例如从excel,CSV或pdf文件中读取数据,转换和压缩图像,从文本文件中提取数据,从数据库中读取数据以及无数其他内容。与外部世界的交互是通过I / O或输入输出操作完成的。

文件可帮助我们将数据永久存储到系统中。当我们编写任何程序来管理某些数据时,数据会临时存储在计算机的RAM中,并且在计算机关闭时会被擦除。要永久存储数据,需要将它们存储在某种数据库或某些文件系统中,以便以后使用时可以对其进行访问。

可以根据文件的内容将文件大致分为以下两种类型:二进制(也称为富文本)

文本

Python提供了一个内置函数open来打开任何文件。首先需要打开任何文件才能从文件中读取数据或向其中写入一些数据。在Python中,从文件读取数据很简单。

我使用REPL作为游乐场来尝试本文提供的所有代码块。

开启档案

我创建了一个test.txt包含一些虚拟内容的文件以进行测试。

test.txt

现在可以像这样使用Python读取此文件的内容。

main.py

我们还可以在open函数中打开文件时指定模式。默认情况下,该模式为“ r”或读取模式。我们还可以指定是否需要以文本或二进制模式打开文件。

我们还可以在打开文件时指定编码格式。默认格式为utf-8

关闭档案

对文件执行操作后关闭文件非常重要,因为它将释放与文件关联的内存空间。

main.py

上面的块可以放在try-except finally块内。这样可以确保在执行操作时如果出现任何错误,文件将被关闭。

main.py

Python提供了更好的语法,可以使用该with语句在文件上打开执行操作。一旦执行该操作,它将自动关闭文件。

main.py

写入文件

Python提供write了将数据写入文件的方法。需要使用w模式打开文件以写入文件。要注意的是,使用该w模式会覆盖文件的内容。如果需要附加内容,则a可以使用该模式。如果文件不存在,则在向其写入数据之前创建文件。

main.py

main.py

另一种写writelines方法是使用方法。可以提供项目列表。

main.py

从文件读取

Python提供了许多从文件读取的方法。需要使用“ r”模式打开文件。如果我们必须一起执行读写操作,那么它也是一种“ r +”模式。该read方法接受一个size参数,该参数基本上是它将要读取的字符计数。如果未提供大小,则它将读取整个文件。

main.py

有一种tell方法可以提供当前正在读取的文件中的光标所在的位置。

该seek方法用于将光标移到文件中的特定位置。

main.py

另外,Python提供了另外两种方法,readline并且readlines.

readline 读取文件,直到到达换行符(\ n)。

readlines 返回行列表

Python文件方法

这是Python中可用的文件方法的完整列表

实践

我们尝试构建一个翻译程序,该程序可以读取英语内容的文件,并使用其他语言创建该文件的新翻译版本。

在本练习中,我们将使用来自PyPI的外部Python包Translate。借助此软件包,我们可以进行离线翻译!

首先,需要安装此软件包。由于我正在使用REPL,因此将其添加到REPL的“包”部分。pip如果使用本地项目,则可以在终端中使用进行安装。

将创建一个名为的文件quote.txt,并用鼓舞人心的报价填充它:

quote.txt

现在让我们生成此报价的两个翻译版本。一个以西班牙语命名quote-es.txt,带有文件名,另一个以法语命名,带有文件名quote-fr.txt

main.py

这将生成两个翻译后的文件,报价自动翻译。

内置模块处理文件

Python提供了一个内置模块,作为其标准库(称为)的一部分pathlib。它提供了各种方便的类,这些类使用适合不同操作系统的语义来表示文件系统路径。v3.4中引入了此模块。处理大量目录时使用此软件包是有益的。

pathlib在将来的几天中,在构建项目时将明确使用模块。

我是不吐不快的编程君

关注我,带你走进编程的世界

有任何不懂问题可以私信我

python变量使用前必须先声明、并且一旦声明_初学者学习Python的30天‍-第18天-文件处理...相关推荐

  1. 初学者学习python的几个建议

    初学者学习python的几个建议 Python是最容易入门的编程语言,没有之一.如果初学者接触的第一门语言是C或者C++,对他们来说最难的不是语法,而是容易出现内存泄漏.指针等问题.有时候排查这些问题 ...

  2. 学python适合什么年龄段的人用_7个现在就该学习Python 的理由【80%的人都不知道】...

    Python 是一门更注重可读性和效率的语言,尤其是相较于 Java,PHP 以及 C++ 这样的语言,它的这两个优势让其在开发者中大受欢迎. 诚然,它有点老了,但仍是 80 后啊 -- 至少没有 C ...

  3. 学习python课程_想学习Python吗? 这是我们的免费4小时互动课程

    学习python课程 Python is a popular, versatile and easy-to-learn language. It's the go-to language for AI ...

  4. 谁的python入门教程好_怎样学习Python?Python入门必看

    Python目前可以用一个字来描述那就是"火",问题来了,这么火的语言零基础小白到底该怎样学习Python? 首先,从基础开始学习,切勿毛躁. 刚开始学习Python的时候,我们可 ...

  5. 初学者学习Python,掌握这些实用小技巧能快速入门!

    在开始今天的话题之前,我们先讨论一个问题:编程初学者应该学习什么语言好? 每年每天都会有很多新入门的同学提出这个看似简单却又让人一下难以给出准确答复的问题.作为新手,纵然自己抓破脑袋,凭空也想象不出哪 ...

  6. 自学python从零开始学_新手学习python-从零开始学习

    1.学习python urllib2 常用方法 urlopen(url, data, timeout) urllib2.Request() urllib.urlencode() params = {} ...

  7. python老鼠书名字_芜湖学习python公司推荐

    芜湖学习python公司推荐 苏州翔锐信息科技有限公司,成立于2011年,是一家人工智能教育公司,目前团队规模200+人,覆盖用户已超600万.我们致力于借助科技的技术力量,以认知科学作基础,研究人的 ...

  8. python和java哪个好找工作-短期找工作,编程语言是学习Python还是Java好呢?

    声明:这是一篇容易引起撕逼的问答,为了祖国和谐,人民安康,请各位看官尽量理性讨论.正巧我前两天写了一篇 Java和Python现在都挺火,我应该怎么选 的文章,正好对题,就此回答一波.同时,这篇文章是 ...

  9. 如何学python新手入门_如何学习Python,以及新手如何入门?

    好久以前就想写这个回答了. 学校里面开了一门极其火的python通识课,我幸运选上,加上我对python还是比较感兴趣的.就这样我开始了我的python学习之路. 提前说明吧,我真的还只是一个纯纯纯新 ...

最新文章

  1. tomcat与IIS服务器集成
  2. 阿里云服务器被挖矿程序minerd入侵的终极解决办法[转载]
  3. 复合机 涂布机_涂布复合机适用的范围在那些地方?
  4. [蓝桥杯][2016年第七届真题]压缩变换(主席树求区间不同数的个数)
  5. html仿微信滑动删除,使用Vue实现移动端左滑删除效果附源码
  6. 【Groovy】Groovyc: Internal groovyc error: code 1 的解决方法
  7. abs 不会整数 方法 溢出_asp cint clng的范围与防止cint和clng的溢出解决方法大全
  8. mysql 只读权限 不能访问函数_通用mysql只读函数
  9. 【jvm】JVM体系
  10. OpenERP 关于页码总页数
  11. vs使用快捷键注销多行
  12. 云计算时代,NGINX将是你的“必杀技”
  13. contiki学习笔记(八)rtimer stimer 计时器库
  14. Jekyll 学习笔记
  15. html获取数组的前三个元素,web前端:js 获取数组最后一个元素
  16. 浙江移动智能语音服务器,电视还能这样玩?中国移动智能语音遥控器,让电视机听你的...
  17. 《数据结构与算法分析》课程设计——迷宫问题
  18. python代码能做成软件步骤与异常情况mac
  19. 桌面计算机图标带虚线框,win10系统桌面图标的虚线框去掉的具体办法
  20. Base-N 算法加密解密实现:

热门文章

  1. 才26岁!94年小姐姐,已任985名校副教授!
  2. 【文末有福利】如何理解我们所处世界的复杂性?
  3. 489个学位点被撤销,2018撤销和增列学位授权点名单公布
  4. 统计vs机器学习,数据领域的“少林和武当”!
  5. 深度解析| 揭开中国紫砂壶背后惊人的大内幕!
  6. 一线技术人的成长思考总结
  7. NBF事件中心架构设计与实现
  8. Raft成员变更的工程实践
  9. 戚俊:可能是最懂架构的投资人
  10. 支付宝移动端 Hybrid 解决方案探索与实践