7.7 比open更好用、更优雅的读取文件 — Python黑魔法手册 1.0.0 documentation (iswbm.com)
Intro
单独打开一个文件,只需要在 files 中输入一个文件名即可
import fileinput
with fileinput.input(files=('a.txt',)) as file:
for line in file:
print(f'{fileinput.filename()} 第{fileinput.lineno()}行: {line}', end='')
其中 a.txt
的内容如下
```plain text
hello
world
执行后就会输出如下
```shell
$ python demo.py
a.txt 第1行: hello
a.txt 第2行: world
需要说明的一点是,fileinput.input()
默认使用 mode='r'
的模式读取文件,如果你的文件是二进制的,可以使用mode='rb'
模式。fileinput 有且仅有这两种读取模式。
批量打开
和 glob 模块简直是绝配
import fileinput
import glob
for line in fileinput.input(glob.glob("*.txt")):
if fileinput.isfirstline():
print('-'*20, f'Reading {fileinput.filename()}...', '-'*20)
print(str(fileinput.lineno()) + ': ' + line.upper(), end="")
[文章导入自 http://qzq-go.notion.site/1e2b90ea4da74aa3b4feb772b33771fa 访问原文获取高清图片]