python3 語法小記(四) sys.stdout、sys.stdin
阿新 • • 發佈:2019-01-10
如果需要更好的控制輸出,而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