Fileinput模块

fileinput是python提供的标准库,使用fileinput模块可以依次读取命令行参数中给出的多个文件。也就是说,它可以遍历 sys.argv[1:],并按行读取列表中的文件。如果该列表为空,则fileinput默认读取标准输入中的内容。

fileinput的使用方法非常简单,大部分情况下,我们直接调用fileinput模块的input方法按行读取内容即可。

import fileinput

for line in fileinput.input():
    print(line,end='')

使用方法

python3 read_from_fileinput.py  < /etc/hosts
python3 read_from_fileinput.py  /etc/hosts
python3 read_from_fileinput.py  /etc/hosts /etc/resolv.conf
cat /etc/hosts | python3 read_from_fileinput.py

其他属性

由于fileinpiut可以读取多个文件,所以它提供了一些方法让我们知道当前读取的内容属于哪一个文件。

  • filename:当前正在读取的文件名称
  • fileno:文件的描述符
  • filelineno:正在读取的行是当前文件的第几行
  • isfirstline:正在读取的行是否是当前文件的第一行
  • isstdin:正在读取内容是否来自于标准输入的内容
import fileinput

for line in fileinput.input():

    meta = [fileinput.filename(),fileinput.fileno(),fileinput.filelineno(),fileinput.isfirstline(),fileinput.isstdin()]
    print(line,end='')
    print(*meta)

  

 

相关文章:

  • 2021-12-04
  • 2021-05-26
  • 2021-09-30
  • 2022-12-23
  • 2021-11-28
  • 2021-09-24
  • 2022-01-08
  • 2021-08-13
猜你喜欢
  • 2021-09-13
  • 2022-12-23
  • 2022-12-23
  • 2022-01-27
  • 2022-12-23
  • 2021-06-20
相关资源
相似解决方案