python输入输出有问题_Python(2.7)-标准输入输出,标准错误输出

sys模块,标准输入,标准输出和标准错误输出

1、标准输入sys.stdin:对应的操作是input

sys.stdin.readline():只输入(获取)一行,sys.stdin.readline()会将标准输入全部获取,包括末尾的'\n',所以一般会在末尾加上.strip()或.strip(“\n”)去掉末尾的换行符

>>> import sys

>>> line=sys.stdin.readline() #末尾不加.strip()

123 #末尾有一个换行符

>>> for i in range(len(line)): #len(line)=4

... print line[i]+"hello"

...

1hello

2hello

3hello

hello #末尾不加.strip(),由于换行符会多一个空行(”/nhello”)

>>> print line

123

>>> line=sys.stdin.readline().strip() #末尾加.strip() ,去掉了换行符

123

>>> for i in range(len(line)): #len(line)=3

... print line[i]+"hello"

...

1hello

2hello

3hello

>>>

sys.stdin.read() :将输入的内容全部获取,以字符串的形式输出,行与行之间用”\n”分隔

>>>import sys

>>> sys.stdin.read()

123

456

56756

^Z

'123\n456\n56756\n'

>>>

sys.stdin.readlines() :获取所有输入信息,以列表输出,每一行是一个元素,每行末尾带换行符

>>>import sys

>>> sys.stdin.readlines()

abc

hello ads

sadjf

exit

^Z #Ctrl+z 终止输入

['abc\n', 'hello ads\n', 'sadjf\n', 'exit\n']

>>>

2、标准输出sys.stdout,对应的操作是print;只需要定义一个write对象,告诉sys.stdout去哪儿写

sys.stdout.write ():从键盘读取sys.stdout.write ()输入的内容,默认不会换行,所以一般会在末尾加上“\n”,跟print方法类似

>>>import sys

>>> sys.stdout.write("pangwei")

pangwei>>> sys.stdout.write("pangwei\n")

pangwei

>>>

>>> for i in range(3):

... sys.stdout.write("pangwei\n")

...

pangwei

pangwei

pangwei

>>>

3.标准错误输出(sys.stderr)和标准输出类似也是print(打印),可以写入文件中

>>> import sys

>>> sys.stderr.write("error\n")

error

>>> sys.stderr=open("d:\\error.txt","w")

>>> sys.stderr.write("pangwei\n")

>>> sys.stderr.flush(0) #错误信息会被写入文件,如下

>>>

#执行结果(error.txt文件内容)

pangwei

Traceback (most recent call last):

File "", line 1, in

TypeError: flush() takes no arguments (1 given)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值