广告
返回顶部
首页 > 资讯 > 后端开发 > Python >【Python】重定向 Stream 到
  • 153
分享到

【Python】重定向 Stream 到

重定向PythonStream 2023-01-31 00:01:26 153人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

python 系统模块 sys 中有三个变量 stdin 、 stdout 与 stderr ,分别对应标准输入流、输出流与错误流。stdin 默认指向键盘, stdout 与 stderr 默认指向控制台。 print 方法与 sys.

python 系统模块 sys 中有三个变量 stdinstdoutstderr ,分别对应标准输入流、输出流与错误流。stdin 默认指向键盘, stdoutstderr 默认指向控制台。

print 方法与 sys.stdout.write()的作用基本相同,后者不会打印额外的符号,并且会将打印字符数作为返回值返回;intput 方法与 sys.stdin.readline() 也很类似,后者会读入输入的每一个字符,包括换行符。

>>> import sys
>>> # 测试输出
... 
>>> Word = 'Exciting'
>>> n1 = print(word)
Exciting
>>> n1 # 因为print没有返回值,所以 n1 是空值
>>> type(n1)
<class 'NoneType'>
>>> n2 = sys.stdout.write(word + '\n')
Exciting
>>> n2 # len(word) + len('\n') = 9
9
>>> type(n2)
<class 'int'>
>>> # 测试输入
... 
>>> w1 = input()
hello
>>> w1
'hello'
>>> w2 = sys.stdin.readline()
hello
>>> w2 # w2 包括换行符
'hello\n'

sys.stdinsys.stdoutsys.stderr 是三个变量,这意味着我们可以将它们的值修改成我们需要的对象类型,比如文件对象。

文本作为输入流与错误流

>>> out = sys.stdout # 首先要将默认的输出流对象存起来
>>> fout = open('outfile', 'w')
>>> sys.stdout = fout
>>> for i in range(10):
...     print(i)
... 
>>> fout.close()
>>> sys.stdout = out # 回复默认输出流对象

现在在命令行 cat 一下 outfile 文件

$ cat outfile
0
1
2
3
4
5
6
7
8
9

重定向错误流的方法与之类似

>>> err = sys.stderr
>>> ferr = open('errfile', 'w')
>>> sys.stderr = ferr
>>> s # 输入一个没有声明过的变量
>>> ferr.close()
>>> sys.stderr = err

在命令行 cat errfile

$ cat errfile
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 's' is not defined

可以看到,之前在 Python shell 中没有显示的错误日志,现在被写入到 errfile 里面了

文件作为输入流

先准备好要读入的文本文件

$ echo -e 'hello\nthis\nexcitng\nworld' > infile
$ cat infile
hello
this
excitng
world

在 python shell 中测试一下

>>> in_stream = sys.stdin
>>> fin = open('infile', 'r')
>>> sys.stdin = fin
>>> s = input()
>>> while s:
...     print(s)
...     s = input()
... 
hello
this
excitng
world
Traceback (most recent call last):
  File "<stdin>", line 3, in <module>
EOFError: EOF when reading a line
>>> fin.close()
>>> sys.stdin = in_stream

--结束END--

本文标题: 【Python】重定向 Stream 到

本文链接: https://www.lsjlt.com/news/181584.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【Python】重定向 Stream 到
    Python 系统模块 sys 中有三个变量 stdin 、 stdout 与 stderr ,分别对应标准输入流、输出流与错误流。stdin 默认指向键盘, stdout 与 stderr 默认指向控制台。 print 方法与 sys....
    99+
    2023-01-31
    重定向 Python Stream
  • 如何重定向HTTP请求到HTTPS
    这篇文章将为大家详细讲解有关如何重定向HTTP请求到HTTPS,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。重定向HTTP请求到HTTPS在TIP#11基础上增加retu...
    99+
    2022-10-19
  • index.php怎么301重定向到首页
    index.php301重定向到首页的方法:index.php这个默认是首页,可以通过添加以下代码来做301重定向,代码如下:...
    99+
    2022-10-05
  • Nginx如何将HTTP重定向到HTTPS
    这篇文章的内容主要围绕Nginx如何将HTTP重定向到HTTPS进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!Nginx是一个强大的重定向工具,可以...
    99+
    2023-06-28
  • linux console输出重定向到串口ttyS0
    在linux系统中使用virsh创建和管理虚拟机时,除了使用ssh 连接虚拟机,还可以使用 virsh console 虚机名 的方式连接虚拟机,不过需要在虚机镜像中开启将console重定向到串口的设置。 修改 /etc/default/...
    99+
    2023-09-13
    linux 运维 服务器
  • springboot怎么重定向到其他网址
    在Spring Boot中,可以使用`RedirectView`类来实现重定向到其他网址。 首先,在你的控制器类中创建一个请求处理方...
    99+
    2023-10-26
    springboot
  • django views重定向到带参数的url
    当一个函数进行完成后需要重定向到一个带参数的url URL path('peopleapply/<int:jobid>/',second_views.peopleap...
    99+
    2022-11-11
  • php怎么重定向css文件到指定域名
    要重定向CSS文件到指定域名,可以使用PHP的header函数来实现。以下是一个示例代码:```php```在上面的代码中,你需要替...
    99+
    2023-08-19
    php
  • 从Python到Spring:学习笔记分享重定向实现方法。
    从Python到Spring:学习笔记分享重定向实现方法 在Web开发中,重定向是一个常见的概念。当用户请求某个URL时,如果需要将用户重定向到另一个URL,就需要使用重定向。在本文中,我们将分享如何使用Python和Spring框架实现重...
    99+
    2023-10-07
    重定向 学习笔记 spring
  • 重定向的Python编程算法:从数组到最佳实践
    Python是一种高级编程语言,被广泛应用于各种领域,例如数据科学、机器学习、Web开发等。Python编程算法是Python编程中的重要组成部分,它们可以帮助程序员在解决问题时更高效地处理数据和计算。在这篇文章中,我们将介绍重定向的Py...
    99+
    2023-07-31
    编程算法 数组 重定向
  • python 重定向获取真实url
    楼主在做公司项目的时候遇到url重定向的问题,因此上网简单查找,作出如下结果 由于使用的是语言是python所以以下是python的简单解决方案 http_headers = { 'Accept': '*/*','Connecti...
    99+
    2023-01-31
    重定向 真实 python
  • Python 如何实现 HTTP 重定向?
    HTTP 重定向是一种在 Web 应用程序中广泛使用的技术,它使得当用户请求某个 URL 时,可以将其重定向到另一个 URL 上。这种技术在实现网站的跳转、错误处理和搜索引擎优化等方面都起到了重要作用。Python 作为一种强大的编程语言...
    99+
    2023-08-21
    http 重定向 spring
  • 如何在Spring中重定向到GO函数?
    在Spring中,如何重定向到GO函数是一个常见的问题。GO函数是一种在Golang中使用的函数,它可以帮助我们将网页请求重定向到其他页面。在本文中,我们将介绍如何在Spring中使用GO函数来实现重定向。 首先,让我们来看一下Spring...
    99+
    2023-10-30
    函数 spring 重定向
  • PHP和Django重定向:从入门到实践
    PHP和Django是两种常用的web开发语言。重定向是web开发中常用的技术之一,本文将介绍PHP和Django的重定向功能,包括什么是重定向、如何实现重定向、以及如何利用重定向实现一些常见的功能。 一、什么是重定向 重定向是web开发中...
    99+
    2023-11-12
    django 教程 重定向
  • IIS中设置HTTP访问重定向到HTTPS
    目录添加规则添加入站空白规则规则详情配置完成后“应用”到当前站点URL重写配置结果 验证参考文章:不啰嗦,我们直接开始! 1、购买SSL证书(我用的...
    99+
    2022-11-13
  • 从Linux到Windows:PHP重定向的完美指南!
    作为一名PHP开发者,在进行开发过程中,经常会遇到需要进行重定向的情况。重定向是指将用户从一个URL地址转移到另一个URL地址,这种操作在Web应用程序中非常常见。在本文中,我们将介绍如何在Linux和Windows环境下实现PHP重定向。...
    99+
    2023-08-23
    linux 重定向 windows
  • django重定向
    return HttpResponseRedirect('/index/')# 重定向返回url格式:http://127.0.0.1:8000/index/会去掉前期的所有路由重新写入/index/'路由urls代码 from djan...
    99+
    2023-01-30
    重定向 django
  • linux shell数据重定向(输入重定向与输出重定向)详细分析
    在了解重定向之前,我们先来看看linux 的文件描述符。 linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作...
    99+
    2022-06-04
    重定向 数据 详细
  • 301重定向代码能放到哪些地方
    301重定向代码能放到.htaccess文件、html网页文件和php文件中,例如:.htaccess文件中的301重定向代码:RewriteEngine OnRewriteCond %{HTTP_HOST} ^yisu.com$ [NC]...
    99+
    2022-10-08
  • 301重定向代码怎么添加到网站
    301重定向代码添加到网站的方法:在电脑上新建一个文本文档,然后将后缀名改为.htaccess,打开并添加以下代码://将123.com重定向到www.123.com<IfModule mod_rewrite.c>Re...
    99+
    2022-10-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作