Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >如何使用 Python批量读取多个文件

如何使用 Python批量读取多个文件

作者头像
青南
发布于 2019-09-16 08:23:31
发布于 2019-09-16 08:23:31
10.6K00
代码可运行
举报
文章被收录于专栏:未闻Code未闻Code
运行总次数:0
代码可运行

当我们要批量读取多个文件所有内容,并把所有行打印出来时,我们可能会这样写代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
file_list = ['1.txt', '2.txt', '3.txt']for path in file_list:    with open(path, encoding='utf-8') as f:        for line in f:            print(line)

但这样写代码不好看。Python 自带一个更好用的模块:fileinput

如果要使用 fileinput读取列表中的多个文件,那么可以这样写代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import fileinputfile_list = ['1.txt', '2.txt', '3.txt']with fileinput.input(files=file_list) as f:    for line in f:        print(line)

但如果仅仅是这样,那这个模块也并没有省多少事情。我们再来看看它的高级功能。

创建一个 read.py,其内容如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import fileinputwith fileinput.input() as f:    for line in f:        print(line)

这个代码初看起来,没有读入任何文件,那么它的内容从哪里来呢?

此时我们运行,并尝试输入一些内容回车。如下图所示:

可以看出,它会自动把你输入的内容打印出来,相当于在 whileTrue里面加上了 input

不仅如此,这段代码不做任何修改,我们在 read.py同目录下创建3个文件 1.txt 2.txt 3.txt。然后使用如下命令运行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python3 read.py 1.txt 2.txt 3.txt

运行效果如下图所示:

自动把参数对应的文件都读入并打印了出来。这里的参数可以有任意多个。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 未闻Code 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
涨知识!比Open更适合读取文件的Python内置模块
有时我们需要把数据永久存储起来,随时使用随时读取。例如,我们通过程序建立的列表、字典等数据,当程序结束时,需要把这些数据存储到文件中,当程序再次启动时,可以把这些数据读入到程序中,避免这些数据的重新录入。
数据STUDIO
2021/06/24
4.7K0
python模块fileinput
      在python脚本语言中的fileinput模块可以对一个或多个文件的内容进行迭代,编历操作. 常用的函数:      fileinput.input()          #读取文件的内容      fileinput.filename()    #文件的名称      fileinput.lineno()        #当前读取行的数量      fileinput.filelineno()   #读取行的行号      fileinput.isfirstline()   #当前行是否是
py3study
2020/01/08
4210
没想到吧?这货竟比 open 更适合读取文件...
今天明哥要给大家推荐一个比 open 更好用、更优雅的读取文件方法 -- 使用 fileinput
小F
2021/04/09
4700
没想到吧?这货竟比 open 更适合读取文件...
Python模块之fileinput
一 简介 fileinput 是python 提供的一个可以快速遍历,修改一个或者多个文件的模块。我们可以使用该模块进行文本替换 并做文件备份。
用户1278550
2018/08/09
6300
两天研习Python基础(十) 文件处理
[1]Python文档 - open: https://docs.python.org/3/library/functions.html#open
王诗翔呀
2020/07/02
5030
python的input格式_javascript设计模式与开发实践 pdf
fileinput.input([files[, inplace[, backup[, bufsize[, mode[, openhook]]]]]])
全栈程序员站长
2022/08/18
3690
Python之文件内容修改
我们想要达到的效果是:在文件的任意行或位置插入或删除内容,不影响该位置前后的内容。
py3study
2020/01/07
3.5K0
python fileinput_Python之fileinput模块学习「建议收藏」
fileinput.input([files[, inplace[, backup[, bufsize[, mode[, openhook]]]]]])
全栈程序员站长
2022/08/28
5320
教你怎么用python操作文件
Python中有几个内置模块和方法来处理文件。这些方法被分割到例如os, os.path , shutil 和 pathlib 等等几个模块中。文章将列举Python中对文件最常用的操作和方法。
程序员小新
2022/01/11
6.5K0
python开发_fileinput
python中,fileinput模块对读取文件操作提供了一些有用的方法 下面是我做的demo: 运行效果: ====================================== 代码部分:
Hongten
2018/09/13
4980
python开发_fileinput
【Python之旅】第二篇(一)
主要是file()和open()函数的使用,但在查open()函数的帮助时,会有下面的说明:
py3study
2020/01/09
3690
python 文件操作复习一
当前路径: /Users/zhouhaijun/PycharmProjects/Test/PythonTest/dome01 判断是否是一个文件: False 是否是一个目录: True Monday.py init.py contect_list.txt excp01.py one_01.py phone.dat test.kpl tmp1.dat tmp2.dat 0 判断是否是绝对路径: False 检验给出的路径是否真地存: True 返回一个路径的目录名和文件名 ('/Users', 'zhouhaijun') 分离文件名与扩展名 ('tmp1', '.dat') 找出某个目录下所有的文件,并在每个文件中写入“osTest” dd /Users/zhouhaijun/Desktop/hhhhh/osTest /Users/zhouhaijun/Desktop/hhhhh/osTest/dd liwen.dat /Users/zhouhaijun/Desktop/hhhhh/osTest /Users/zhouhaijun/Desktop/hhhhh/osTest/liwen.dat ok! 如果某个目录下文件名包含dat后缀名,则把文件后面追加写一行“被我找到了! dd 修改内容: 获取当前路径 获取当前目录: /Users/zhouhaijun/Desktop/hhhhh/osTest seek函数: 内容是: good! liwen
py3study
2020/01/06
3620
shell脚本–sed的用法[通俗易懂]
sed在处理文本时是逐行读取文件内容,读到匹配的行就根据指令做操作,不匹配就跳过。
全栈程序员站长
2022/09/19
3.9K0
shell脚本–sed的用法[通俗易懂]
Python 多进程处理数据
但是上面 for 循环有个问题,一次循环中需要等 耗时最长的子进程 结束才能开始下一个循环
Michael阿明
2022/10/24
6400
Python 多进程处理数据
python中修改文件行内容
fileinput模块提供处理一个或多个文本文件的功能,可以通过使用for循环来读取一个或多个文本文件的所有行。它的工作方式和readlines很类似,不同点在于它不是将全部的行读到列表中而是创建了一个xreadlines对象。 下面是fileinput模块中的常用函数: input() #返回能够用于for循环遍历的对象 filename() #返回当前文件的名称 lineno() #返回当前已经读取的行的数量(或者序号) filelineno() #返回当前读取的行的行号 isfirstli
py3study
2020/01/06
1.7K0
python读取文件方法
f = open("foo.txt")             # 返回一个文件对象 line = f.readline()             # 调用文件的 readline()方法 whil
py3study
2020/01/10
5970
Python入门之os.walk()方法
os.walk方法,主要用来遍历一个目录内各个子目录和子文件。 os.walk(top, topdown=True, onerror=None, followlinks=False) 可以得到一个三元tupple(dirpath, dirnames, filenames),  第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。 dirpath 是一个string,代表目录的路径, dirnames 是一个list,包含了dirpath下所有子目录的名字。 filenames 是一个l
Jetpropelledsnake21
2018/05/03
8610
零基础学习 Python 之文件(二)
大家好,这里是零基础学习 Python 系列,在这里我将从最基本的Python 写起,然后再慢慢涉及到高阶以及具体应用方面。我是完全自学的 Python,所以很是明白自学对于一个人的考验,所以在这里我会尽我最大的努力,把 Python 尽可能简单的表述清楚,让更多想要学习 Python 的朋友能够入门。同时写这个教程也算是对自己之前所学知识的一个巩固和提高,喜欢的朋友们可以点个关注,有问题欢迎随时和我交流。本文所有的代码编写均是Python3 版本。
编程文青李狗蛋
2019/11/07
3300
Python文件处理(IO 技术)
文本文件存储的是普通“字符”文本,python 默认为 unicode 字符集(两个字节表示 一个字符,最多可以表示:65536 个),可以使用记事本程序打开。注意:像 word 软件编辑的文档不是文本文件。
爱喝兽奶的熊孩子
2024/04/10
1570
Python文件处理(IO 技术)
在Python中按路径读取数据文件的几种方式
我们知道,写Python代码的时候,如果一个包(package)里面的一个模块要导入另一个模块,那么我们可以使用相对导入:
马哥Python
2019/07/15
20.4K0
在Python中按路径读取数据文件的几种方式
相关推荐
涨知识!比Open更适合读取文件的Python内置模块
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验