脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - python使用技巧-标准输入

python使用技巧-标准输入

2022-10-09 12:55zzxiaoma Python

这篇文章主要介绍了python使用技巧标准输入,标准输入即stdin ,下文围绕python使用技巧标准输入相关资料展开学习内容,具有一的参考价值,需要的小伙伴可以参考一下

可以通过单个文件的内容作为标准输入:

1.建立文件std.py

?
1
2
3
4
import sys
 
for line in sys.stdin:
    print(line, end="")

在linux下运行cat /etc/passwd | python std.py或者python std.py < /etc/passwd

就会把/etc/passwd中的内容打印出来,在程序中通过sys.stdin获取

sys.stdin是一个普通文件对象,除了从标准输入读取内容以外,并没有特殊之处。我们也可以使用sys.stdin调用文件对象的方法。如调用read函数读取标准输入中的所有内容。

2.建立文件std2.py

?
1
2
3
import sys
 
print(sys.stdin.read())

运行cat /etc/passwd | python std2.py

读取多个文件内容作为标准输入

使用fileinput,可以依次读取命令行参数中给出的多个文件。大部分情况下,我们直接调用fileinput模块的input方法按行读取内容即可。 例如建立文件read_file.py

?
1
2
3
4
import fileinput
 
for line in fileinput.input():
    print(line, end="")

在linux下运行python read_stdin.py /etc/passwd /etc/passwd-,可以输出多个文件内容

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

fileinput中常用的方法有:

  • 1、filename:当前正在读取的文件名;
  • 2、fileno:文件的描述符;
  • 3、filelineno:正在读取的行是当前文件的第几行;
  • 4、isfirstline:正在读取的行是否当前文件的第一行;
  • 5、isstdin:正在读取文件还是直接从标准输入读取内容。  

代码如下:

?
1
2
3
4
5
6
import fileinput
 
for line in fileinput.input():
    meta = [fileinput.filename(),fileinput.fileno(),fileinput.filelineno(),fileinput.isfirstline(),fileinput.isstdin()]
    print(meta)
    print(line, end="")

到此这篇关于python使用技巧-标准输入的文章就介绍到这了,更多相关python标准输入内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.51cto.com/u_3764469/5015309

延伸 · 阅读

精彩推荐
  • Pythonpycharm利用pyspark远程连接spark集群的实现

    pycharm利用pyspark远程连接spark集群的实现

    由于工作需要,利用spark完成机器学习。因此需要对spark集群进行操作。所以利用pycharm和pyspark远程连接spark集群。感兴趣的可以了解一下...

    Great14147272021-11-03
  • PythonPython爬虫之批量下载喜马拉雅音频

    Python爬虫之批量下载喜马拉雅音频

    今天教大家如何利用Python爬虫批量下载喜马拉雅音频,文中有非常详细的代码示例,对正在学习python的小伙伴们很有帮助,需要的朋友可以参考下...

    wangzirui327512021-11-04
  • PythonPython实现一个简单的QQ截图

    Python实现一个简单的QQ截图

    大家好,本篇文章主要讲的是Python实现一个简单的QQ截图,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下的相关资料...

    Also_easy7092022-09-20
  • PythonPython+Selenium自动化实现分页(pagination)处理

    Python+Selenium自动化实现分页(pagination)处理

    这篇文章主要为大家详细介绍了Python+Selenium自动化实现分页pagination处理的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    ForcePush4502020-09-27
  • PythonPython利用folium实现地图可视化

    Python利用folium实现地图可视化

    Folium是建立在Python生态系统的数据整理(Datawrangling)能力和Leaflet.js库的映射能力之上的开源库。这篇文章主要给大家介绍了关于如何Python利用folium实现地...

    Harris-H5902021-11-11
  • PythonPyTorch搭建一维线性回归模型(二)

    PyTorch搭建一维线性回归模型(二)

    这篇文章主要为大家详细介绍了PyTorch搭建一维线性回归模型,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    Liam Coder6432021-06-28
  • PythonCentOS中安装python3.8.2的详细教程

    CentOS中安装python3.8.2的详细教程

    这篇文章主要介绍了CentOS中安装python3.8.2的详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...

    喜欢华为的李工6812021-09-16
  • Pythonpytorch的batch normalize使用详解

    pytorch的batch normalize使用详解

    今天小编就为大家分享一篇pytorch的batch normalize使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 ...

    完美妖姬7732020-04-20