python學習--重定向sys.stdin、sys.stdout和sys.stderr

轉載:原文鏈接

之前練習的時候 一般是用 map(int,input().split())

現在可以替換一下標準化輸入:

1、sys.stdin.readline()與input

    import sys
    # sys.stdin.readline() 相當於input,區別在於input不會讀入'\n'
    aa = sys.stdin.readline()
    bb = input('請輸入:')
     
    print(len(aa))
    print(len(bb))
     
    #結果
    i love DL
    請輸入:i love DL
    10
    9

所以len(aa)元素中多了一個‘\n’。還有一個區別在於,input()裏面可以直接傳入文本,然後打印出來。

2、sys.stdout與print

sys.stdout.write('hello' + '\n')
print('hello')

上面兩行是等價的,例如:

    import sys
    # sys.stdin.readline() 相當於input,區別在於input不會讀入'\n'
    aa = sys.stdin.readline()
    bb = input('請輸入:')
     
    sys.stdout.write(str(len(aa)) + '\n')
    print(len(bb))
     
    #結果
    i love DL
    請輸入:i love DL
    10
    9

注:sys.stdout.write(obj+'\n')中的obj只能是字符串。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章