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

前文

最近不是出了一个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.txt45cc31a8258a02f0be682c4380379a82.png

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

main.py

b95dba3b6a974dc38803075782660190.png

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

6908e87d9dc645bb0fe66270a6aea693.png

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

关闭档案

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

main.pyf8e38e1910ab7579521f21a0acbbb028.png

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

main.py43e034148336197311ec1e3b165e2bd4.png

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

main.py1409f39e688aede5fc49ff048865c41f.png

写入文件

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

main.py970a7105fb33d1a9298d7c93b4662593.png

main.pyb15add7db23d1d349dd0dcca9225e9b2.png

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

main.pyd41507199be7ce48128ecd3bde229211.png

从文件读取

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

main.pyb2fa6f80ffa83fd1f2022360a7335e27.png

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

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

main.py2e6f30f91044f73dd269e0698d7196d4.png

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

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

readlines 返回行列表

Python文件方法

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

实践

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

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

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

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

quote.txt4613a3b02e86e7102329509b2776c152.png

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

main.py634f4261be211a03eb35c746905100c8.png

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

内置模块处理文件

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

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

我是不吐不快的编程君

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/512880.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

金融数据智能峰会 | 数据规模爆炸性增长,企业如何进行精准决策?云原生数据仓库数据化运营实战分享

简介: 在日前的2021阿里云金融数据智能峰会——《云原生驱动数智化运营的“增长黑马”》专场上,阿里云数据库资深技术专家魏闯先 从数据价值链路角度切入,为大家解读云原生数据仓库如何支撑数据化运营、全链路营销和阿里集团双11业务&#xf…

redistemplate.opsforvalue 设置不过期_民法典即将实施!“离婚冷静期”倍受关注

还有不到一个月,“离婚冷静期”就要落地了。2021年1月1日起,《中华人民共和国民法典》(以下简称“《民法典》”)将正式施行。作为与老百姓日常生活关系最为紧密的一部法律,《民法典》的制定和施行备受关注,其中尤以“离婚冷静期”…

到底是无线最难?还是核心网最难?

作者 | 小枣君来源 | 鲜枣课堂今天这篇文章,我们来探讨一个通信行业的长期争议话题——到底是无线最难?还是核心网最难?众所周知,通信行业虽然对外统称“通信”,但实际上,内部却分为三个细分板块&#xff0…

谈谈C++新标准带来的属性(Attribute)

简介: 从C11开始,标准引入了一个新概念“属性(attribute)”,本文将简单介绍一下目前在C标准中已经添加的各个属性以及常用属性的具体应用。 作者 | 寒冬 来源 | 阿里技术公众号 从C11开始,标准引入了一个新概念“属性(attribute)…

mmap函数_分析由 mmap 导致的内存泄漏

背景一个程序链接 TCMalloc ,同时调用 mmap / munmap 管理一部分较大的内存通过 TCMalloc 的统计信息,判断内存泄漏不是由 new / malloc 等常规接口导致的因此怀疑是 mmap 导致的内存泄漏hookhook mmap / munmap 记录下每一次调用,可以分析出…

如何一站式快速构建企业全场景数据库管理平台?

简介: Gartner 的报告显示预计到2022年将有75%数据库将采用云数据库,与此同时,IDC预计到2024年传统部署数据库市场将达到13亿美元,企业数字化转型升级,积极拥抱开源、云原生数据库成为重要趋势,也是必然选择…

编程能力差,学不好Python、AI、Java等技术,90%是输在了这点上!

据了解,超90%的人在学习Python、Java、AI等技术时,都是在网上随便找个入门的教程就开始学起来。然而多数人在看了不少教程后,还是很难独立完成项目,甚至反思自己为什么学了这么久编程能力还是这么差!因为你在刚刚开始学…

更丰富的云原生应用治理能力让业务快速生长

简介: 据 Gartner 的报告显示,到 2022 年将有 50% 的应用软件将容器化,2023 年高可控应用 PaaS 的市场规模将达到 332 亿元,年复合增长率约为 18.7%。企业数字化转型的道路上,积极拥抱云原生,加速业务系统容…

“建木”萌芽,聚木成林

据 Github 2021 年度报告显示,目前 Github 用户数已超 7300 万,中国 Github 开发者 755万,开源吞噬世界的当下,越来越多中国开发者和企业积极参与开源建设。 有一位从事开源 10 多年的从业人员,戏称自己为未来希望成为…

还在为多集群管理烦恼吗?RedHat 和蚂蚁、阿里云给开源社区带来了OCM

简介: 为了让开发者、用户在多集群和混合环境下也能像在单个 Kubernetes 集群平台上一样,使用自己熟悉的开源项目和产品轻松开发功能,RedHat 和蚂蚁、阿里云共同发起并开源了 OCM(Open Cluster Management,项目官网 &a…

lol模型导入ue4_Houdini amp; UE4 程序化建模——石头(一)基础工作流

导言最近程序化建模的风气在国内兴起,建立好程序化建模流程,通过调参就可以生成丰富的美术资源。可以程序化建模的内容有很多,国外的程序化曼哈顿、林中小屋等都是很好的例子,所有带有规律的模型都可以程序化来做。程序化可以做从…

iOS 端容器之 WKWebView 那些事

简介: 本文主要是关于在端容器设计开发过程中,WKWebView 使用上遇到的一些问题和解决办法。 一 背景 熟悉 iOS\macOS Hybrid 混合开发的同学应该都有体会,WKWebView 虽然是苹果作为替代 UIWebView\WebView 而推出的"新"组件&…

95后热搜哪些事,夸克用AI引擎发布2021年度关键词

编辑 | 宋慧 出品 | CSDN 云计算 岁末将至,哪些心潮澎湃的瞬间与难以忘怀的言语,能够代表你的2021? 12月14日,在夸克Meet AI开放日上,阿里巴巴智能信息事业群旗下的智能搜索APP夸克与中国传媒大学互联网信息研究院联合…

MaxCompute Spark 资源使用优化祥解

简介: 本文主要讲解MaxCompute Spark资源调优,目的在于在保证Spark任务正常运行的前提下,指导用户更好地对Spark作业资源使用进行优化,极大化利用资源,降低成本。 本文作者:吴数傑 阿里云智能 开发工程师 …

tika设置文件长度限制_MySQLInnoDB某些你没注意过的限制

01—目录02—前言最近一个朋友遇到一个面试题:MySQL的InnoDB的一个表最多能存多少数据?这么一问,我瞬间也蒙圈了,这是我的知识盲区啊,之前还从来没考虑过这样的问题。那我怎么能甘心的,只好去网上一顿查资料…

如何保证 Serverless 业务部署更新的一致性?

简介: 代码在其他场景被更新,需要我们在当前得到感知,这个事情其实是非常重要的,和代码的安全发布密不可少。而此时,通过 Serverless Devs 是可以做到的。 作者|Anycodes 从我做 Serverless 工具开始&…

Gartner最新报告:阿里云计算、存储、网络、安全均获得最高分

12月15日,国际权威机构Gartner发布最新报告,全面评估全球顶级云厂商整体能力。阿里云IaaS基础设施能力拿下全球第一,在计算、存储、网络、安全四项核心评比中均斩获最高分,这也是中国云首次超越亚马逊、微软、谷歌等国际厂商。 《…

软件工程软件产品质量要求与评价_软件质量保证(Quality Assurance)中常见的活动...

质量保证QA关注在软件产品生成的整个过程,主要验证软件产品开发过程中相关实施过程的完整性、一致性和有效性,确保开发活动和测试活动等遵循正确的过程,为软件产品达到合适的质量级别提供信心。为了实现过程的可重用性和持续改进,…

普诺飞思公布发明者社区,启发基于事件视觉技术的创新

2021 年 12 月 15 日,全球领先的神经拟态视觉传感公司普诺飞思(Prophesee)正式对外公开其发明者社区,展示基于事件的 Metavision 技术的工作及技术创新成果。该发明者社区创建于 2014 年,由来自各行业的研究人员、学者…

揭秘!业界创新的代码仓库加密技术

简介: 原理与演示。 01 / 什么是代码加密? 云端加密代码服务是云效团队的自研产品,是目前国内率先支持代码加密的托管服务,也是目前世界范围内率先基于原生Git实现加密方案的代码托管服务。 通过在云端对托管在云效Codeup的代码…