Python中的fileinput库如何使用?如何使用fileinput函数对文件进行操作?

Fileinput是Python的内置模块 , 对于很多人来说 , 怎么样去使用它还是比较陌生的 , 今天把fileinput的用法、功能进行详细的讲解 , 并列举一些非常实用的案例 , 对于理解和使用它可以说完全没有问题 , 下面一起来学习这篇关于“Python中的fileinput库如何使用?如何使用fileinput函数对文件进行操作?”的文章吧 。

Python中的fileinput库如何使用?如何使用fileinput函数对文件进行操作?

文章插图
fileinput库中有一个对文件进行操作的方法 , 就是跟库名是一样的fileinput,它跟open函数是使用也是一样的 , 就是会对文件进行读取的操作 , 我们平时都是习惯的使用open函数去读取文件 , 其实fileinput这种方法比open方法更加的好用 , 使用方法如下
1、在标准输入中读取
我们在使用Python脚本时 , 并没有对任何参数进行传递 , 使用fileinput的话 , 它就会默认使用stdin作为一个输入源 , 比如:
【Python中的fileinput库如何使用?如何使用fileinput函数对文件进行操作?】import fileinputfor line in fileinput.input():    print(line)在这种情况下 , 不管你在控制台中输入什么 , 它的功能就像是一台复读机 , 会将你输入的功能进行重复的输入然后打印 。
2、对文件进行单独的打开
假设我们现在有一个文本文件 , h1.txt , 其中内容为:Hello!Python!,使用fileinput对文件进行单独打开时的操作方法如下:
import fileinput with fileinput.input(files=('a.txt',)) as file:    for line in file:        print(f'{fileinput.filename()} 第{fileinput.lineno()}行: {line}', end='')在代码中 , 我们可以知道 , 使用的是fileinput.input方法 , 它对文件进行读取的时候 , 默认的读取模式就是“r”,这是对一个文本文件进行普通的读取 , 如果是一个二进制文件的时候 , 需要在后面加上一个“b” , 变成“rb”模式 , 在fileinput中 , 也只有这两种文件读取的模式 。
3、批量打开多个文件
在上面的例子中 , 在函数中传入了一个files参数 , 它可以对对多个文件名的列表或者是元组进行接收 , 上面我们只是传入了一个文件 , 所以它只会对一个文件进行读取 , 如果传入多个文件 , 它会进行多个文件的读取 , 举个例子:
现在有两个文件 , h1和h2 , 内容分别为:
h1.txtHelloBoyh2.txtHelloGirl代码:
import fileinputwith fileinput.input(files=('h1.txt', 'h2.txt')) as file:    for line in file:        print(f'{fileinput.filename()} 第{fileinput.lineno()}行: {line}', end='')运行结果:
h1.txt 第1行:Helloh1.txt 第2行:Boyh2.txt 第1行:Helloh2.txt 第2行:girl通过运行结果我们可以知道 , 它会对两个文件进行整合成一个对象file,但是是对两个文件同时进行了读取的操作 。
到此Python中的fileinput库如何使用?如何使用fileinput函数对文件进行操作?的内容就介绍到这里了 , 希望对大家的学习有所帮助 , 赶紧动手去试试吧 。

    推荐阅读