Linux 技术手札

Python fileinput 模组

Linux 下很多系统管理的工作都会涉及读取档案的内容, 在 Python 下可以透过多个方法开启档案、读取 Pipe 及以参数方式读取档案。

fileinput 是 Python 的内建模组, 它可以用很简单的方法, 实现以上的工作。fileinput 模组提供处理一个或多个档案的功能, 可以是透过 Pipe 输入、用参数方法指定档案, 或者在程式码指定档案也可以。

以下是 fileinput 模组的使用例子:

看到上面的程式码很简单, 但已经可以将 Pipe 及 参数输入的档案读取, 并逐行印出, 例如:

$ ls | ./test.py
$ ./test.py /etc/passwd
$ ./test.py < /etc/passwd

上面的例子是透过指令指令读取的内容, 如果要在程式码内指定档案, 只要在 fileinput.input 指定, 可以这样写:

要同时读取多个档案, 只要在 files 指定即可:

Exit mobile version