Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python 逐行读取txt 文件并生成列表

Python 逐行读取txt 文件并生成列表

作者头像
全栈程序员站长
发布于 2022-07-23 08:52:35
发布于 2022-07-23 08:52:35
6.2K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。


前言

我们在编写一些自动化脚本的时候,为了方便,经常需要以txt 文件作为数据输入,今天就跟大家讨论一下如何对txt 文件进行读取并生成对应的列表等程序可操作的数据载体

开始

1. 载入文件

这步就大家比较熟悉,文件操作中最基本的了。

因为我们只需要读取文件,并不需要写入文件,所以在这里指定mode="r" 为只读模式(默认)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
f = open("C:/foo.txt", "r",encoding='utf-8')

此时就有了这个txt 文件的数据输入流了。

2. 读取数据流

读取数据的方法主要有三个,分别是read()readline()readlines()

方法

作用

read()

从文件读取指定的字节数,如果未给定或为负则读取所有。

readline()

读取整行,包括 “\n” 字符。

readlines()

读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行, 实际读取值可能比 sizeint 较大, 因为需要填充缓冲区。

接下来简单展示一下这三种方法的区别: 这是foo.txt 中的内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
("祖安", 1000)
("诺克萨斯", 900)
("艾欧尼亚", 880)
("暗影岛", 750)
("征服之海", 620)
("黑色玫瑰", 600)
("德玛西亚", 500)
("裁决之地", 440)
("圣安地列斯", 400)
("自由城", 350)
("供电所", 300)
("影流", 200)
("荆棘坎坷", 180)
("永不言弃", 100)
  1. read() 和txt 数据格式一致,返回str 类型数据
  1. readline() 只读取一行(包括换行),返回str 类型数据
  1. readlines() 全部读取,返回list 类型数据

3. 数据处理

根据上一步,我们可以得到多种形式的数据类型,从而根据我们的需求进行多种处理。

大家可以看到,我的foo.txt 中的数据是满足元组形式的,那我就试着将foo.txt 文件中的字符串类型数据转变成元组吧:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
line = f.readline() # 读取一行
tu = eval(line) # 转为元组形式
print(tu)
print(type(tu))

输出:

若需要全部数据都逐行转变为元组,然后整体串成一个列表:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
txt_tables = []
f = open("C:/foo.txt", "r",encoding='utf-8')
line = f.readline() # 读取第一行
while line:
    txt_data = eval(line) # 可将字符串变为元组
    txt_tables.append(txt_data) # 列表增加
    line = f.readline() # 读取下一行
print(txt_tables)

之所以while 循环中的f.readline() 能够不断读取下一行,是因为当我们每次执行完一次该语句之后,文件输入流的指针都会移动到下一行的起始位,所以每次再次执行,都是从下一行的第一个字符开始读取。

输出:

4. 关闭文件

是的,不要忘了关闭文件流:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
f.close()

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/126834.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月8,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【13】Python之常用文件操作
f=open('so_file',encoding="utf-8")  #打开文件,并读取。Windows上默认字符集GDK,所以这里指定了字符集,不然会报错。(#UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 106: illegal multibyte sequence ) data=f.read()  #将读取的内容赋值给data print(data) f.close()  #一定要关闭,才是一个完成的读取文件方式。
py3study
2020/01/06
4250
python读取txt文件(多种方法)「建议收藏」
line.strip() 去除首尾空格 encoding 编码格式 utf-8,gbk
全栈程序员站长
2022/08/23
2.6K0
python读取txt文件(多种方法)「建议收藏」
【python】读取和输出到txt
python常用的读取文件函数有三种read()、readline()、readlines()
py3study
2020/01/14
2.5K0
【十】python基础之文件处理
给要打开的文件对象指定一个名字,这样可在完成操作之后迅速关闭文件,防止一些无用的文件对象占用内存
菲宇
2019/06/13
7290
【十】python基础之文件处理
【愚公系列】2021年12月 Python教学课程 25-Python文件读写
写程序过程中,我们做的一切操作,都是在内存里进行的。如果一旦断电或发生意外,那么我们的工作成果将瞬间消失。们还缺少将数据在本地文件系统进行持久化的能力,白话讲就是文件的读写能力。
愚公搬代码
2021/12/16
2790
python3–文件操作
File文件操作 Python 提供了必要的函数和方法进行默认情况下的文件基本操作。你可以用 file 对象做大部分的文件操作。 open 函数 必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。 语法: file object = open(file_name [, access_mode][, buffering]) 各个参数的细节如下: file_name:file_name变量是一个包含了你要访问的文件名称的字符串值。 access_mod
老七Linux
2018/05/09
1.2K0
图解python | 文件读写
教程地址:http://www.showmeai.tech/tutorials/56
ShowMeAI
2022/02/23
4520
图解python | 文件读写
一文搞懂Python文件读写
很多童鞋困扰于读写文件的各种模式(如阅读、写入、追加等),以及搞不清open、read、readline、readlines、write等方法的使用。
派大星的数据屋
2022/04/02
1.3K0
一文搞懂Python文件读写
Python文件操作
文件就是把一些存储存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力。 操作文件通常有3个步骤:打开文件、读取文件、关闭文件。
楚客追梦
2022/11/11
4720
Python文件操作
python元组,文件的操作
新手刚刚开始学习python,如有写错或者写的不好的地方,请大家多多指导! python元组相加 a = (1,2) b = (3,4) a + b 元组运用乘法 (1,2) * 4  #在这里边,元组不会被当成数字来计算,而是输出4次 给字母类型的元组拍 t = ('bb,','dd','aa','cc') tm = list(t) tm.sort()    #然后输出tm t = tuple(tm) 用for的方式运算 t = (1,2,3,4,5) l = [x + 20 for x in t] 替换元组 t = (1,[2,3],4) t[1][0] = 'spa'   #t元组中第二个数值之后紧挨着的数值 python文件操作 常见的文件运算 output = open(r'd:\a.py', 'w')   创建输出文件(w是指写入) input = open('date', 'r')        创建输入文件(r是指读写) input = open('date')             与上一行想同(r是默认值) input.read()                     把整个文件读取进单一字符串 input.read(N)                    读取之后的N个字节,到一个字符串 input.readline()                 逐行读取,第一次读取第一行,第二次读取下一行 alist = input.readlines()        读取整个文件到字符串列表 output.write(as)                 写入字节字符串到文件 output.writelines(alist)         把列表内所有字符串写入文件 output.close()                   手动关闭(当文件收集完成是会替你关闭文件) output.flush()                   把输出缓冲区刷到硬盘中,但不关闭文件 anyFile.seek(N)                  修改文件位置到偏移量N处以便进行下一个操作 for line in open('data'): use line  文件迭代器一行一行的读取 open('f.txt', encoding='latin-1')   python3.0unicode文本文件(str字符串) open('f.bin', 'rb')                 python3.0二进制byte文件(bytes字符串) 实例应用 myfile = open('myfile.txt', 'w')     #创建一个myfile.txt文件,并打开进行写入 myfile.write('hello,world\n')         myfile.write('good bye'\n)           #\n表示转行 myfile.close()               #关闭文件 然后打开本地目录,看看文件内容是否一样 读取文件 myfile = open('myfile.txt')     #打开文件,默认是只读 myfile.readline()              #读取第一行 myfile.readline()              #读取下一行 把整个文件读取进单一字符串 open('myfile.txt').read()   #把所以文件一次性读取完,\n之后的表示下一行 使用打印的方式来读取 print(open('myfile.txt').read())    #这样处理的结果比较清晰,隔行分开 用for的方式来逐行读取文件 for line in open('myfile.txt'):     print(line,end='') 以二进制的方法打开文件 data = open('myfile.txt', 'rb').read()  #这样的话效果不太明显,可以创建文本写入数字开看看 data[4:8] data[0] bin(data[0])    #二进制的方式显示一个文件 文件存储 x, y, z = 43, 44, 45 s = 'spam' d = {'a': 1,'b': 2} l = [1,2,3] f = open('data.txt', 'w') f.write(s + '\n')    #直接将s插入然后转行 f.write('%s,%s,%s\n' % (x,y,z)) f.write(str(l) + '$' str(d) + '\n')    #str输出l + str输出的d 然后读取看下结果 a = open('data.txt').read() print(a) 去掉多余的行 f = open('data
py3study
2020/01/06
1K0
[PYTHON] 核心编程笔记之九-Py
内建函数open()[以及file()]提供了初始化输入/输出(I/0)操作的通用接口,open()内建函数成功打开文件后会返回一个文件对象,否则引发一个错误,当操作失败,Python会产生一个IOError异常
py3study
2020/01/07
6910
Python - 文件读取read()、readline()、readlines()区别
读取文件的三个方法:read()、readline()、readlines()。均可接受一个方法参数用以限制每次读取的数据量,但通常不使用
小菠萝测试笔记
2020/06/09
1.1K0
给Python学习者的文件读写指南(含基础与进阶,建议收藏)
对于初学者来说,一份详尽又清晰明白的指南很重要。今天,猫猫跟大家一起,好好学习Python文件读写的内容,这部分内容特别常用,掌握后对工作和实战都大有益处。学习是循序渐进的过程,欲速则不达。文章较长,建议大家收藏,以备复习查阅哦。
Python猫
2019/04/10
1K0
Python 文件输入/输出——读写文件
在 Python 中, IO 模块提供了三种 IO 操作的方法;原始二进制文件、缓冲二进制文件和文本文件。创建文件对象的规范方法是使用open()函数。
很酷的站长
2023/08/15
4680
Python 文件输入/输出——读写文件
python文件基础之(文件操作)
    在之前学习了python的列表、元组、集合等知识,接下来将python的文件相关的知识做一总结和分析。
py3study
2020/01/15
7780
06 . Python3入门之IO编程(文件操作)
4. f.write() f.write(string)将string写入到文件中,然后返回写入的字符数.
iginkgo18
2020/09/27
8420
06 . Python3入门之IO编程(文件操作)
python入门到实战系列二
这节课继续学习python 元组 与 字典 两个数据类型还有循环、条件判断等相关知识,知识点有零散,但工作中需要把这些零散的知识点串起来解决问题。
高楼Zee
2022/05/17
9240
python入门到实战系列二
Python迭代和解析(2):迭代初探
for的关键字在于"迭代"和"遍历"。首先要有容器数据结构(如列表、字符串)存储一些元素供迭代、遍历,然后每次取下一个元素通过in来测试元素的存在性(从容器中取了元素为何还要测试?因为容器可能会在迭代过程中临时发生改变),每次取一个,依次取下去,直到所有元素都被迭代完成,就完成了遍历操作。
py3study
2020/01/22
8990
Python 读取txt、csv、mat数据并载入到数组
这里结合上一篇博文的数据来讲怎么方便的载入.txt文件到一个数组,数据如下所示:
全栈程序员站长
2022/07/23
5K0
Python 读取txt、csv、mat数据并载入到数组
Python文件读取方法:read()、readline()和readlines()的区别
在Python中,读取文件是一项常见的任务。Python提供了多种方法来读取文件内容,其中包括read()、readline()和readlines()方法。本文将介绍这些方法的区别和使用场景。
霍格沃兹测试开发Muller老师
2023/09/07
5200
相关推荐
【13】Python之常用文件操作
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档