如果需要更好的控制输出,而print不能满足需求, 可以使用sys.stdout、sys.stdin
1.sys.stdout
在python中调用print时,事实上调用了sys.stdout.write(obj+'\n')
print将需要得内容打印到控制台上,然后追加一个换行符。
以下两行代码等价:
sys.stdout.write('hello'+'\n')
print('hello')
2.sys.stdin
sys.stdin.readline()会将标准输入全部获取,包括末尾的 '\n' ,因此用len计算长度时,是把换行符 '\n' 算进去的
但是input()获取输入时,返回的结果是不包含末尾的换行符的。
因此,如果在平时使用sys.stdin.readline()获取输入的话,不要忘了去掉末尾的换行符,
可以用strip()函数(sys.stdin.readline().strip('\n'))或者sys.stdin.readline()[:-1],去掉最后的换行符。
strip() , lstrip() , rstrip()区别
strip() 是去掉字符串首尾字符的方法
lstrip()用于去除左边首部的字符
rstrip()用于去除右边尾部的字符
当括号内为空时,默认去掉空格
theString = 'saaaay yes no yaaaass'
print(theString.strip())
>>>saaaay yes no yaaaass
print(theString.strip('say'))
>>> yes no
print(theString.strip('say ')) #say后有空格
>>>es no
print(theString.lstrip('say'))
>>> yes no yaaaass
print(theString.rstrip('say'))
>>>saaaay yes no