【Python标准库:fileinput】优雅的读取文件

简介: 每当我写个脚本涉及文件输入时,一般写法都是下面这种import sysfile_in = sys.argv[1]for line in open(file_in, 'r'): commands这个操作有一个缺点就是,如果我想从管道里面传入数据给Python的话,就会报错,因为原代码要求文件而不是标准输入。

每当我写个脚本涉及文件输入时,一般写法都是下面这种

import sys

file_in = sys.argv[1]

for line in open(file_in, 'r'):
    commands

这个操作有一个缺点就是,如果我想从管道里面传入数据给Python的话,就会报错,因为原代码要求文件而不是标准输入。

这个问题可以通过Python的一个标准库: fileinput进行解决。

import fileinput

for line in fileinput.input():
    process(line)

fileinput.intpu()会帮我们自动处理输入。如果sys.argv[1:]里有输入文件,它就会对里面所有的文件进行遍历,如果sys.argv为空,那么它就会从标准输入sys.stdin里读取输入,如果输入文件的文件名是"-", 同样地会从标准输入里读取输入。这样子就省去了我们自己写条件语句进行判断输入类型。

目录
相关文章
|
13天前
|
存储 缓存 JavaScript
python实战篇:利用request库打造自己的翻译接口
python实战篇:利用request库打造自己的翻译接口
26 1
python实战篇:利用request库打造自己的翻译接口
|
17天前
|
Python
【python】python跨文件使用全局变量
【python】python跨文件使用全局变量
|
1天前
|
存储 Python
用Python实现批量下载文件——代理ip排除万难
用Python实现批量下载文件——代理ip排除万难
|
1天前
|
JSON 关系型数据库 数据库
《Python 简易速速上手小册》第6章:Python 文件和数据持久化(2024 最新版)
《Python 简易速速上手小册》第6章:Python 文件和数据持久化(2024 最新版)
26 0
|
1天前
|
数据挖掘 索引 Python
Python 读写 Excel 文件
Python 读写 Excel 文件
10 0
|
1天前
|
数据安全/隐私保护 Python
Python文件与目录操作:面试中的高频考点
【4月更文挑战第15天】本文介绍了Python文件和目录操作的面试重点,包括文件的读写、目录遍历及权限管理。强调了文件关闭、异常处理、特殊文件判断以及权限位和权限字符串的理解。提供了代码示例,如读写文件、遍历目录和更改文件权限,帮助读者在面试中表现出色。掌握这些技能将对编程求职之路大有裨益。
16 0
|
2天前
|
机器学习/深度学习 算法 搜索推荐
SciPy线性代数库详解:矩阵运算与方程求解
【4月更文挑战第17天】SciPy的`scipy.linalg`模块提供丰富的线性代数功能,包括矩阵运算、线性方程组求解、特征值问题和奇异值分解等,基于BLAS和LAPACK库确保效率与稳定性。关键操作如矩阵乘法使用`dot`函数,转置和共轭转置用`transpose`和`conj`,求解线性方程组有`solve`和迭代方法,计算特征值和向量用`eig`,奇异值分解则依赖`svd`。这个库对科学计算、数据分析和机器学习等领域至关重要。
|
2天前
|
算法 Serverless 计算机视觉
SciPy的科学计算库的基础知识与应用
【4月更文挑战第17天】**SciPy**是Python的开源科学计算库,基于NumPy,包含优化、积分、线性代数、信号处理等模块。本文介绍了SciPy的基本使用,如线性代数(矩阵运算、特征值)、优化(最小化问题)、积分以及信号处理(滤波)。安装SciPy可使用`pip install scipy`。此外,还展示了图像处理和常微分方程求解的例子。SciPy是科学计算的重要工具,适用于各种数值问题。参考文献包括SciPy和NumPy官方文档。
|
3天前
|
存储 监控 开发工具
对象存储OSS产品常见问题之python sdk中的append_object方法支持追加上传xls文件如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
34 9
|
3天前
|
JSON API 数据格式
python的request库如何拿到json的返回值
python的request库如何拿到json的返回值
7 0