【python基础】文件-初识文件

这篇具有很好参考价值的文章主要介绍了【python基础】文件-初识文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文本文件可存储的数据量是非常多的。每当需要分析或修改存储在文件中的信息时,首先就是读取文件到内存中,为此可以一次性读取文件的全部内容,也可以以每次一行的方式逐步读取。

1.读取文件

1.1读取整个文件

要读取文件,需要一个包含几行文本的文件。下面首先来创建一个poems文本文件,,里面存储着一首古诗。
【python基础】文件-初识文件

读取文件,其语法格式如下所示:
【python基础】文件-初识文件

注意这个文本文件是utf-8编码格式的,如果是windows默认的gbk模式,在读取时可能存在错误编写程序如下所示:
【python基础】文件-初识文件

在这个程序中,with open('poems.txt') as poems_file: 这条语句做了大量的工作。

1.open函数。要以任何方式使用文件,哪怕仅仅是输出其内容,都得先打开文件,这样才能访问它。

2.open函数接受一个参数,这个参数是要打开的文件的名称。Python在当前执行的文件所在的目录中查找指定的文件。

3.open函数返回一个表示文件的对象,Python将这个对象存储在as后面的变量中。

4.关键字with再不需要访问文件后将其关闭。在这个程序中,注意到我们调用了open函数。但没有调用close函数。这里可以调用open函数和close函数来打开和关闭文件。但这样做时,如果程序存在bug,导致close语句未执行,文件将不会关闭。如果未妥善地关闭文件可能会导致数据丢失或受损。但如果在程序中过早的调用close(),那么在我们使用文件的时候它已关闭,我们无法访问。并非在任何情况下都能轻松确定关闭文件的恰当时机,但通过使用前面所示的结构,可让Python去自行确定,我们只管打开文件,并在需要时使用它,Python会在合适的时候自动将其关闭。

5.有了poems.txt文件对象变量,我们使用read方法读取这个文件的全部内容,并将其作为一个字符串存储在变量poems_content中。

1.2.逐行读取

读取文件时,常常需要检查其中每一行;可能要在文件中查找特定的信息或者要以某种方式修改文件中的文本。要以每次一行的方式检查文件,可对文件对象使用for循环:
【python基础】文件-初识文件

我们打印每一行时,发现多出来了空白行,因为在这个文件中,每行的末尾都有一个看不见的换行符,而print函数也会加上一个换行符,因此每行末尾都有两个换行符:一个来自文本,一个来自print函数。要消除这些多余的空白行,可以将文本的换行符删除,或者让print函数不输出换行符

方法1,rstrip函数用于删除字符串末尾的换行符,编写程序如下所示:

【python基础】文件-初识文件

方法2,print函数不输出换行符,编写程序如下所示:

【python基础】文件-初识文件

2.结合列表

2.1创建一个包含文件各行内容的列表

使用withi关键字时,open函数返回的文件对象变量只在with代码块内可用。如果要在with代码块外访问文件的内容,可在with代码块外使用该列表。

编写程序如下所示:

【python基础】文件-初识文件

2.2利用列表对文件的内容进行操作

我们发现上面输出的list列表中,数据元素是带有'\n'换行符的,我们如何删除它,这里也是用到rstrip函数,编写程序如下所示:
【python基础】文件-初识文件

3.写入文件

保存数据的最简单的方式之一是将其写入到文件中,通过将输出写入文件,即便关闭包含程序输出的终端窗口,这些输出也依然存在。可以在程序结束运行后查看这些输出,可与别人分享输出文件,还可编写程序来将这些输出读取到内存中并进行处理。

3.1写入空文件

要将文本写入文件,在调用open需要提供另一个实参变量,该实参变量是open函数操作文件的模式,告诉Python我们要写入打开的文件。为明白其中的工作原理,我们来将一条简单的消息存储到文件中,而不是将其输出到终端窗口。

其语法格式:

open('文件名称',文件模式)

编写程序如下所示:

【python基础】文件-初识文件

我们打开new_file.txt查看一下

【python基础】文件-初识文件

发现是我们想要的效果。

注意:

1.调用open函数时,提供了两个实参变量,一个是文件名称,另一个是文件模式。

实参变量值 文件模式
'r' 只读模式,默认模式
'w' 只写模式
'r+' 读写模式
'a' 附加模式

2.如果要写入的文件不存在,open函数将自动创建它。然而,以写入模式打开文件时千万要小心,因为如果指定的文件已经存在,Python将在返回文件对象前清空该文件。

3.write是文件对象的写入方法,作用是将一个字符串写入文件。

4.Python只能将字符串写入文本文件,要将数值数据存储到文本文件中,必须先使用str函数将其转换为字符串格式。

3.2写入多行

write函数不会在写入的文本末尾添加换行符,因此如果写入多行时没有指定换行符,文件看起来可能不是我们预想的结果:

编写程序如下所示:

【python基础】文件-初识文件

我们打开new_file.txt查看一下,
【python基础】文件-初识文件

发现两个字符串连接在一起了。

要让每个字符串都单独占一行,需要在write()语句中包含换行符,编写程序如下所示:

【python基础】文件-初识文件

我们打开new_file.txt查看一下

【python基础】文件-初识文件

3.3附加到文件

如果要给文件添加内容,而不是覆盖原有的内容,可以用附加模式打开文件。以附加模式打开文件时,Python不会在返回文件对象时清空文件,而是将写入到文件的行都添加到文件末尾。如果指定的文件不存在,Python将创建一个空文件。

编写程序如下所示:
【python基础】文件-初识文件

我们打开new_file.txt,查看一下,
【python基础】文件-初识文件

我们可以发现,文件原来的内容还在,最后的两行是我们新添加的内容。文章来源地址https://www.toymoban.com/news/detail-498263.html

到了这里,关于【python基础】文件-初识文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 初识C语言·数据存储

    前面讲到,整数在计算机中的存储是以补码形式存储的,其中正数和负数也有些许差别,正数的三码相同,负数的就不相同了,那么这里就涉及原码反码补码。 原码:直接把整数用二进制的方式表达出来的就是原码。 反码:原码除了符号位不变,数值位按位取反就是反码。

    2024年01月17日
    浏览(36)
  • Python(wordcloud):根据文本数据(.txt文件)绘制词云图

    本文将介绍如何利用python来根据文本数据(.txt文件)绘制词云图,除了绘制常规形状的词云图(比如长方形),还可以指定词云图的形状。 1、安装相关的库 2、 导入相关的库 3、 相关库的介绍 jieba: 结巴分词库,一个中文分词库。由于中文文本的每个汉字都是连续书写的,

    2024年04月16日
    浏览(56)
  • Python做一个绘图系统3:从文本文件导入数据并绘图

    本文已整合到:从0开始实现一个三维绘图系统 单纯从作图的角度来说,更多情况是已经有了一组数据,然后需要将其绘制。这组数据可能是txt格式的,也可能是csv格式的,还可能是二进制数据。当然,这些一会儿在想,首先就是要添加一个按钮,将setCtrlButtons函数添加一行:

    2024年02月13日
    浏览(46)
  • Python读取指定的TXT文本文件并从中提取指定数据的方法

      本文介绍基于 Python 语言,遍历文件夹并从中找到文件名称符合我们需求的多个 .txt 格式文本文件,并从上述 每一个文本文件 中,找到 我们需要的指定数据 ,最后得到 所有文本文件中 我们 需要的数据的合集 的方法。   首先,我们来明确一下本文的具体需求。现有

    2024年02月14日
    浏览(49)
  • 初识 Redis - 分布式,内存数据存储,缓存

    目录 1. 什么是 Redis 1.1 Redis 内存数据存储 1.2 Redis 用作数据库 1.3 Redis 用作缓存 (cache) 1.4 用作消息中间件 The open source , in-memory data store used by millions of developers as a database, cache, streaming engine, and message broker. 开源的 内存数据存储 ,被数百万开发人员用作 数据库、缓存、流引擎

    2024年02月15日
    浏览(49)
  • 〖Python网络爬虫实战⑲〗- 数据存储之CSV文件

    订阅:新手可以订阅我的其他专栏。免费阶段订阅量1000+                  python项目实战                  Python编程基础教程系列(零基础小白搬砖逆袭) 说明:本专栏持续更新中,目前专栏免费订阅,在转为付费专栏前订阅本专栏的,可以免费订阅付费专栏,

    2024年02月01日
    浏览(38)
  • Python爬虫数据存哪里|数据存储到文件的几种方式

    前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 爬虫请求解析后的数据,需要保存下来,才能进行下一步的处理,一般保存数据的方式有如下几种: 文件:txt、csv、excel、json等,保存数据量小。 关系型数据库:mysql、oracle等,保存数据量大。 非关系型数据库:Mongodb、R

    2024年02月09日
    浏览(50)
  • Python小白入门:文件、异常处理和json格式存储数据

    所用资料 代码中所用到的文件可以从下面的网站进行下载: https://www.ituring.com.cn/book/2784 open函数 打开 一个文件。 接收参数为需要打开的文件名 。Python会在 当前执行的文件所在目录下 查找指定文件,因此需要把pi_digits.txt文件放在执行文件的同目录下。 open函数返回一个表示

    2024年02月13日
    浏览(50)
  • Python:实现文件读取与输入,数据存储与读取的常用命令

    文本文件可用于存储大量的数据,里面的数据对于用户而言十分重要,因此,本文就如何利用Python实现文本内容的读取与输入,数据存储与读取进行介绍。 一、读取文件中的数据: 首先需要找到所需文件的路径:例如我在桌面创建了一个文本文件,它的路径为 利用函数 op

    2023年04月08日
    浏览(47)
  • 【Python】PySpark 数据输入 ① ( RDD 简介 | RDD 中的数据存储与计算 | Python 容器数据转 RDD 对象 | 文件文件转 RDD 对象 )

    RDD 英文全称为 \\\" Resilient Distributed Datasets \\\" , 对应中文名称 是 \\\" 弹性分布式数据集 \\\" ; Spark 是用于 处理大规模数据 的 分布式计算引擎 ; RDD 是 Spark 的基本数据单元 , 该 数据结构 是 只读的 , 不可写入更改 ; RDD 对象 是 通过 SparkContext 执行环境入口对象 创建的 ; SparkContext 读取数

    2024年02月14日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包