返回顶部
首页 > 资讯 > 后端开发 > 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://lsjlt.com/news/181584.html(转载时请注明来源链接)

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

猜你喜欢
  • 【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+
    2024-04-02
  • index.php怎么301重定向到首页
    index.php301重定向到首页的方法:index.php这个默认是首页,可以通过添加以下代码来做301重定向,代码如下:...
    99+
    2024-04-02
  • Nginx如何将HTTP重定向到HTTPS
    这篇文章的内容主要围绕Nginx如何将HTTP重定向到HTTPS进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!Nginx是一个强大的重定向工具,可以...
    99+
    2023-06-28
  • django views重定向到带参数的url
    当一个函数进行完成后需要重定向到一个带参数的url URL path('peopleapply/<int:jobid>/',second_views.peopleap...
    99+
    2024-04-02
  • 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
  • 如何重定向到另一个网页
    本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《如何重定向到另一个网页》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~问题内容我想做的事情 我想在注册过...
    99+
    2024-04-05
  • django重定向
    return HttpResponseRedirect('/index/')# 重定向返回url格式:http://127.0.0.1:8000/index/会去掉前期的所有路由重新写入/index/'路由urls代码 from djan...
    99+
    2023-01-30
    重定向 django
  • 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
  • php怎么重定向css文件到指定域名
    要重定向CSS文件到指定域名,可以使用PHP的header函数来实现。以下是一个示例代码:```php```在上面的代码中,你需要替...
    99+
    2023-08-19
    php
  • linux shell数据重定向(输入重定向与输出重定向)详细分析
    在了解重定向之前,我们先来看看linux 的文件描述符。 linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作...
    99+
    2022-06-04
    重定向 数据 详细
  • IIS中设置HTTP访问重定向到HTTPS
    目录添加规则添加入站空白规则规则详情配置完成后“应用”到当前站点URL重写配置结果 验证参考文章:不啰嗦,我们直接开始! 1、购买SSL证书(我用的...
    99+
    2024-04-02
  • 从Linux到Windows:PHP重定向的完美指南!
    作为一名PHP开发者,在进行开发过程中,经常会遇到需要进行重定向的情况。重定向是指将用户从一个URL地址转移到另一个URL地址,这种操作在Web应用程序中非常常见。在本文中,我们将介绍如何在Linux和Windows环境下实现PHP重定向。...
    99+
    2023-08-23
    linux 重定向 windows
  • 如何在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 教程 重定向
  • 从Python到Spring:学习笔记分享重定向实现方法。
    从Python到Spring:学习笔记分享重定向实现方法 在Web开发中,重定向是一个常见的概念。当用户请求某个URL时,如果需要将用户重定向到另一个URL,就需要使用重定向。在本文中,我们将分享如何使用Python和Spring框架实现重...
    99+
    2023-10-07
    重定向 学习笔记 spring
  • 重定向的Python编程算法:从数组到最佳实践
    Python是一种高级编程语言,被广泛应用于各种领域,例如数据科学、机器学习、Web开发等。Python编程算法是Python编程中的重要组成部分,它们可以帮助程序员在解决问题时更高效地处理数据和计算。在这篇文章中,我们将介绍重定向的Py...
    99+
    2023-07-31
    编程算法 数组 重定向
  • nginx rewrite(重定向)
    目录 一、什么是rewrite 二、rewrite使用场景 三、rewrite配置语法 四、常用的nginx正则表达式 五、nginx 配置文件里 location 项 1、localtion 作用 2、location 可以分为三类 3...
    99+
    2023-09-04
    nginx 运维 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作