Python中标准输入(stdin)、标准输出(stdout)、标准错误(stdout)的用法
1.标准输入
input()、raw_input()
Python 3.x 中 input() 函数可以实现提示输入,python 2.x 中要使用 raw_input(),例如:
foo = input("Enter: ") # python 2.x 要用 raw_input()
print("You input: [%s]" % (foo))
# 测试执行
Enter: abc de
You input: [abc de] # 读取一行(不含换行符)
sys.stdin
使用 sys.stdin 可以获取标准输入的文件句柄对象,例如:
import sys
print("Enter a line: ")
line = sys.stdin.readline() # 读取一行(包括换行符)
print("Line: [%s]\n%s" % (line, "-"*20))
print("Enter a character: ")
char = sys.stdin.read(1) # 读取一个字节
print("Char: [%s]\n%s" % (char, "-"*20))
print("Enter a multi-lines: ")
lines = sys.stdin.read() # 读取到文件尾
print("Lines: [%s]" % (lines))
# 测试执行
Enter a line:
This is a single line <======== 输入了一行,然后回车
Line: [This is a single line
] <======== 输出有换行符
--------------------
Enter a character:
abc <======== 输入了三个字节
Char: [a] <======== 只读取了一个字节
--------------------
Enter a multi-lines:
first line
second line
last line <======== 输入三行(换行)后,windows 下按 Ctrl+Z,linux 下按 Ctrl + D 结束输入
Lines: [bc <======== 上一次未读完的三个字节(两个字符 + 一个换行符)
first line
second line
last line
] <======== 最后一行也有换行符
2.标准输出
print 可以自动换行,例如:
print("%s is %0.2f, %d is a integer" % ("PI", 3.14, 123)) # 格式同 C 语言中的 printf()
print("{0} is {1}, {2} is a integer".format("PI", 3.14, 123))
print("{foo} is {bar}, {qux} is a integer".format(foo="PI", bar=3.14, qux=123))
#Python小白学习交流群:711312441
# 测试执行
PI is 3.14, 123 is a integer
PI is 3.14, 123 is a integer
PI is 3.14, 123 is a integer
sys.stdout
使用 sys.stdout 可以获取标准输出的文件句柄对象,例如:
import sys
sys.stdout.write("%s is %0.2f, %d is a integer\n" % ("PI", 3.14, 123)) # 格式同 C 语言中的 printf()
sys.stdout.write("{0} is {1}, {2} is a integer\n".format("PI", 3.14, 123))
sys.stdout.write("{foo} is {bar}, {qux} is a integer\n".format(foo="PI", bar=3.14, qux=123))
执行结果与 print 的示例一样。(注:write()不会自动换行,这里加了换行符)
3.标准错误
sys.stdout
使用 sys.stderr 可以获取标准错误的文件句柄对象,示例略(将 sys.stdout 中示例中的 stdout 替换为 stderr 即可)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2022-07-06 Python3教程:加密模块-hashlib
2021-07-06 python基础教程:排序的3种方法