python中如何读入数据,Python中如何读入数据

发布时间:2022-11-20

本文目录一览:

  1. 使用 Python 读写文件
  2. python怎样读取txt文件的数据内容
  3. Python如何从文件读取数据

使用 Python 读写文件

有些数据是临时的,它们在应用程序运行时存储在内存中,然后丢弃。但是有些数据是持久的。它们存储在硬盘驱动器上供以后使用,而且它们通常是用户最关心的东西。对于程序员来说,编写代码读写文件是很常见的,但每种语言处理该任务的方式都不同。本文演示了如何使用 Python 处理文件数据。 在 Linux 上,你可能已经安装了 Python。如果没有,你可以通过发行版软件仓库安装它。例如,在 CentOS 或 RHEL 上: 在 macOS 上,你可以使用 MacPorts 或 Homebrew 安装。在 Windows 上,你可以使用 Chocolatey 安装。 一旦安装了 Python,打开你最喜欢的文本编辑器,准备好写代码吧。 如果你需要向一个文件中写入数据,记住有三个步骤: 这与你在计算机上编码、编辑照片或执行其他操作时使用的步骤完全相同。首先,打开要编辑的文档,然后进行编辑,最后关闭文档。 在 Python 中,过程是这样的: 这个例子中,第一行以写模式打开了一个文件,然后用变量 f 表示,我使用了 f 是因为它在 Python 代码中很常见,使用其他任意有效变量名也能正常工作。 在打开文件时,有不同的模式: 第二行表示向文件中写入数据,本例写入的是纯文本,但你可以写入任意类型的数据。 最后一行关闭了文件。 对于快速的文件交互,常用有一种简短的方法可以写入数据。它不会使文件保持打开状态,所以你不必记得调用 close 函数。相反,它使用 with 语法: 如果你或你的用户需要通过应用程序需要向文件中写入一些数据,然后你需要使用它们,那么你就需要读取文件了。与写入类似,逻辑一样: 同样的,这个逻辑反映了你一开始使用计算机就已知的内容。阅读文档,你可以打开、阅读,然后关闭。在计算机术语中,“打开”文件意味着将其加载到内存中。 实际上,一个文本文件内容肯定不止一行。例如,你需要读取一个配置文件、游戏存档或乐队下一首歌曲的歌词,正如你打开一本实体书时,你不可能立刻读完整本书,代码也只能解析已经加载到内存中的文件。因此,你可能需要遍历文件的内容。 示例的第一行指明使用读模式打开一个文件,然后文件交由变量 f 表示,但就像你写数据一样,变量名是任意的。f 并没有什么特殊的,它只是单词 “file” 的最简表示,所以 Python 程序员会经常使用它。 在第二行,我们使用了 line,另一个任意变量名,用来表示 f 的每一行。这告诉 Python 逐行迭代文件的内容,并将每一行的内容打印到输出中(在本例中为终端或 IDLE)。 就像写入一样,使用 with 语法是一种更简短的方法读取数据。即不需要调用 close 方法,方便地快速交互。 使用 Python 有很多方法向文件写入数据,包括用 JSON、YAML、TOML 等不同的格式写入。还有一个非常好的内置方法用于创建和维护 SQLite 数据库,以及许多库来处理不同的文件格式,包括图像、音频和视频等。 via: 作者:Seth Kenlon
选题:lujun9972
译者:MjSeven
校对:turbokernel

python怎样读取txt文件的数据内容

我们使用 Python 的时候经常需要读取 txt 文件中的内容,那么该如何读取呢?下面我给大家分享一下。 01
首先我们新建一个 txt 文件,在里面写入一些内容,如下图所示 02
接下来打开运行界面,输入 CMD 命令,如下图所示 03
然后进入 CMD 界面以后我们输入 python 命令进入 python 环境,如下图所示 04
最后我们通过 python 中的 open 方法打开 txt 文件,然后通过 read 方法读取文件内容,如下图所示

Python如何从文件读取数据

1.1 读取整个文件

要读取文件,需要一个包含几行文本的文件(文件 PI_DESC.txtfile_reader.py 在同一目录下) PI_DESC.txt

3.1415926535
8979323846
2643383279
5028841971

file_reader.py

with open("PI_DESC.txt") as file_object:
    contents = file_object.read()
    print(contents)

我们可以看出,读取文件时,并没有使用 close() 方法,那么未妥善的关闭文件,会不会导致文件收到损坏呢?在这里是不会的,因为我们在 open() 方法前边引入了关键字 with,该关键字的作用是:在不需要访问文件后将其关闭。

1.2 文件路径

程序在读取文本文件的时候,如果不给定路径,那么它会先在当前目录下进行检索,有时候我们需要读取其他文件夹中的路径,例如: 现在文件 PI_DESC.txt 存储在 python 目录的子文件夹 txt 中。 那么我们读取文本内容的代码得修改为:

with open("txt\PI_DESC.txt") as file_object:
    contents = file_object.read()
    print(contents)

open 参数传递的参数得给相对路径。 在 Windows 中,使用反斜杠 (\),但是由于 Python 中,反斜杠被视为转义字符,在 Windows 最好在路径开头的单(双)引号前加上 r

  • 相对路径:即相对于程序文件的路径。
  • 绝对路径:即文本在硬盘上存储的路径。 使用绝对路径的程序怎么写呢?
with open(r"D:\python\txt\PI_DESC.txt") as file_object:
    contents = file_object.read()
    print(contents)

1.3 逐行读取

读取文件时,可能需要读取文件中的每一行,要以每一行的方式来检查文件或者修改文件,那么可以对文件对象使用 for 循环:

file_path = 'txt\PI_DESC.txt'
with open(file_path) as file_object:
    for line in file_object:
        print(line)

程序运行结果如下: 通过运行结果我们可以看出,打印结果中间有很多空白行,这些空白行是怎么来的呢?因为在这个文件中,每行的末尾都有一个看不见的换行符,而 print 语句也会加一个换行符,因此每行末尾就有 2 个换行符:一个来自文件,另外一个来自 print,消除这些换行符,只需要使用方法 rstrip()

file_path = 'txt\PI_DESC.txt'
with open(file_path) as file_object:
    for line in file_object:
        print(line.rstrip())

打印结果: 通过运行结果我们可以看出,打印结果中间有很多空白行,这些空白行是怎么来的呢?因为在这个文件中,每行的末尾都有一个看不见的换行符,而 print 语句也会加一个换行符,因此每行末尾就有 2 个换行符:一个来自文件,另外一个来自 print,消除这些换行符,只需要使用方法 rstrip()

file_path = 'txt\PI_DESC.txt'
with open(file_path) as file_object:
    for line in file_object:
        print(line.rstrip())

打印结果:

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

使用关键字 with 时,open() 返回的文件对象只能在 with 代码块可用,如果要在 with 代码块外访问文件的内容,可在 with 块中将文件各行存储在一个列表,并在 with 代码块外使用该列表:

file_path = 'txt\PI_DESC.txt'
with open(file_path) as file_object:
    lines = file_object.readlines()
for line in lines:
    print(line.rstrip())

1.5 使用文件的内容

在上面一节中我们提到把数据提取到内存中,那么我们就可以对数据进行随心所欲的操作了。 需要:将圆周率连在一起打印出来(删除空格),并打印其长度:

file_path = 'txt\PI_DESC.txt'
with open(file_path) as file_object:
    lines = file_object.readlines()
pi_str = ''
for line in lines:
    pi_str += line.strip()
print(pi_str.rstrip())
print(len(pi_str.rstrip()))

注意最后 print 语句并没有缩进,如果是缩进的话就会每取一行打印一次。 打印效果如下