详解Python 中sys.stdin.readline()的用法
之前在Python中输入都是用的input(),但是看到大家都用sys.stdin.readline(),没办法那我也得用.
python3中使用sys.stdin.readline()可以实现标准输入,需要调用sys库,sys.stdin是一个标准化输入的方法,其中默认输入的格式是字符串,如果是int,float类型则需要强制转换。如:
例1:
importsys print('Plaseinputyourname:') name=sys.stdin.readline() print('Hello',name)
例2:
importsys try: whileTrue: print('Pleaseinputanumber:') n=int(sys.stdin.readline().strip('\n'))#strip('\n')表示以\n分隔,否则输出是“字符串+\n”的形式 print('Pleaseinputsomenumbers:') sn=sys.stdin.readline().strip()#若是多输入,strip()默认是以空格分隔,返回一个包含多个字符串的list。 ifsn=='': break sn=list(map(int,sn.split()))#如果要强制转换成int等类型,可以调用map()函数。 print(n) print(sn,'\n') except: pass
注意默认输入的是字符串(注意这里的strip('\n')表示以\n分隔,否则输出是“字符串+\n”的形式),如果是多个输入,strip()默认是以空格分隔,返回的是一个包含多个字符串的list,如果要强制转换成int等类型,可以调用map()函数。
sys.stdin.readline()会将标准输入全部获取,包括末尾的'\n',input()会把‘\n'忽略.
importsys a=sys.stdin.readline() b=input() print(len(a),len(b))
执行:
abc abc 43 importsys a=sys.stdin.readline().strip() b=input() print(len(a),len(b))
执行结果:
abc
abc
33
python3中sys.stdin与input的区别
input()方法和stdin()类似,不同的是input()括号内可以直接填写说明文字。
可以看一个简单的例子:
whileTrue: n=int(input('Pleaseinputanumber:\n')) sn=list(map(int,input('Pleaseinputsomenumbers:\n').split())) print(n) print(sn,'\n')
总结
以上所述是小编给大家介绍的Python中sys.stdin.readline()的用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!