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)

  

Python模块学习 - Fileinput的更多相关文章

  1. 【目录】Python模块学习系列

    目录:Python模块学习笔记 1.Python模块学习 - Paramiko  - 主机管理 2.Python模块学习 - Fileinput - 读取文件 3.Python模块学习 - Confi ...

  2. 【转】Python模块学习 - fnmatch & glob

    [转]Python模块学习 - fnmatch & glob 介绍 fnmatch 和 glob 模块都是用来做字符串匹配文件名的标准库. fnmatch模块 大部分情况下使用字符串匹配查找特 ...

  3. Python模块学习filecmp文件比较

    Python模块学习filecmp文件比较 filecmp模块用于比较文件及文件夹的内容,它是一个轻量级的工具,使用非常简单.python标准库还提供了difflib模块用于比较文件的内容.关于dif ...

  4. python模块学习第 0000 题

    将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果. 类似于图中效果: 好可爱>%<! 题目来源:https://github.com/Yixiao ...

  5. Python模块学习:logging 日志记录

    原文出处: DarkBull    许多应用程序中都会有日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系统的运行状况进行跟踪.在.NET平台中,有非常著名的第三方开源日志组件log4net ...

  6. 解惑Python模块学习,该如何着手操作...

    Python模块 晚上和朋友聊天,说到公司要求精兵计划,全员都要有编程能力.然后C.Java.Python-对于零基础入门的,当然是选择Python的人较多了.可朋友说他只是看了简单的语法,可pyth ...

  7. Python模块学习

    6. Modules If you quit from the Python interpreter and enter it again, the definitions you have made ...

  8. Python模块学习系列

    python模块-time python模块-datetime python模块-OS模块详解

  9. Python模块学习遇到的问题

    Python使用import导入模块时报ValueError: source code string cannot contain null bytes的解决方案 Python使用import导入模块 ...

随机推荐

  1. Mysql查询优化从入门到跑路(一)数据库与关系代数

    1.怎样才算是数据库?     ACID,是指在数据库管理系统中事务所具有的四个特性     1)原子性     2)一致性     3)隔离性     4)持久性       关系数据库,基于关系代 ...

  2. Android Camera多屏幕适配解决预览照片拉伸

    通常,拍照预览页面的照片拉伸主要与下面两个因素有关: 1.     Surfaceview的大小 2.     Camera中的Preview的大小 如下图:     图中preview显示的是手机支 ...

  3. HSF原理

    HSF(High-speed Service Framework),高速服务框架,是阿里系主要采用的服务框架,其目的是作为桥梁联通不同的业务系统,解耦系统之间的实现依赖.其高速体现在底层的非阻塞I/O ...

  4. Windows下BMP位图格式介绍

    BMP图片,是Bitmap(位图)的简称,它是windows下显示图片的基本格式.在windows下任何格式的图片文件(包括视频播放)都要转化为位图才能显示出来.各种格式的图片文件也都是在位图格式的基 ...

  5. 【bzoj3754】Tree之最小方差树 最小生成树

    题目描述 给出一张无向图,求它的一棵生成树,使得选出的所有边的方差最小.输出这个最小方差. 输入 第一行两个正整数N,M 接下来M行,每行三个正整数Ui,Vi,Ci N<=100,M<=2 ...

  6. 原 cocos2dx中毒冰冻shader

    #ifdef GL_ES precision mediump float; #endif uniform sampler2D u_texture; varying vec2 v_texCoord; v ...

  7. 基于Node.js+MySQL开发的开源微信小程序B2C商城(页面高仿网易严选)

    界面高仿网易严选商城(主要是2016年wap版) 测试数据采集自网易严选商城 功能和数据库参考ecshop 服务端api基于Node.js+ThinkJS+MySQL 计划添加基于Vue.js的后台管 ...

  8. String类的用法

    练习如何创建一个类. package create; public class Newstring { String aa; public Newstring() { // TODO Auto-gen ...

  9. [codeforces/edu2]总结(F)

    链接:http://codeforces.com/contest/600 A题: 字符串处理. B题: sort+upper_bound C题: 统计一下每种字符的个数,然后贪心. (1) 如果没有奇 ...

  10. HDU1045:Fire Net(二分图匹配 / DFS)

    Fire Net Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Su ...