、使用fileinput 输出text.txt的当前行号和行的内容。 2、使用fileinput.lineno()函数 3、使用text.txt文件 参考教材195页【例6-
时间: 2024-10-25 19:05:19 浏览: 11
在Python中,你可以使用`fileinput`模块来逐行读取文本文件,并结合`lineno()`函数获取行号。这里是一个示例,假设你想要从名为`text.txt`的文件中读取内容并输出每行的行号和内容:
```python
import fileinput
# 打开 text.txt 文件
with fileinput.input('text.txt') as f:
for line_num, line in enumerate(f, start=1): # enumerate 从1开始计数
print(f"行号 {line_num}: {line.strip()}") # strip() 函数用于移除行尾的换行符
```
在这个例子中:
1. `fileinput.input('text.txt')` 使用`fileinput`打开文件,使其成为迭代对象。
2. `enumerate(f, start=1)` 遍历文件的每一行,并提供行号(默认是从0开始,通过`start=1`改为从1开始)。
3. `line.strip()` 获取每行内容,并去除前后多余的空白字符。
**相关问题--:**
1. `fileinput`模块还有哪些常用功能?
2. 如果text.txt不存在,如何处理这个异常?
3. 怎样使用`with`语句管理文件资源以保证文件在操作结束后自动关闭?
相关问题
fileinput.fileinput
fileinput.fileinput是Python中用于读取多个文件的模块。它可以从多个文件中读取内容,并且可以让你在读取文件时进行一些操作,比如对每一行进行处理、跳过某些行、替换某些内容等等。fileinput.fileinput还提供了一些非常方便的方法,比如isfirstline()和lineno(),可以帮助你判断当前处理的是不是每个文件的第一行,并返回当前处理的行号。此外,fileinput.fileinput还支持gzip压缩文件的读取。
使用fileinput.fileinput时需要注意,它是一个迭代器,所以在使用完毕后需要关闭。同时也需要注意,如果你要修改文件内容,需要使用fileinput.input()方法,并设置inplace=True参数,这样才能真正修改文件内容。
阅读全文