Je suis novice en python et je travaille sur shell interactif. J'essayais la bibliothèque standard de python et j'ai lu de la documentation que stdin.read()
renvoie un argument de chaîne. Mais quand j'avance et imprime la valeur d'entrée de stockage de variable, il affiche un caractère aléatoire. Confus sur ce que cela signifieQue sys.stdin.read() retourne exactement en python?
>>>input=sys.stdin.read()
>>>1 2
>>>sys.stdout.write(input)
>>>1 2
4
Qu'est-ce que le 4 signifie. Pourquoi est-il affiché. Si à la place je fais print(input)
. Cela fonctionne bien et renvoie "1 2"
. Est-ce juste une valeur de déchets ou a-t-il une certaine signification. En outre, lorsque je divise l'entrée pour obtenir une liste. Il renvoie seulement deux éléments ['1', '2']
. Comme prévu. Je suis curieux de savoir pourquoi 4 est affiché et ce n'est pas constant.
>>>input=sys.stdin.read()
>>>1 2 3 4
>>>sys.stdout.write(input)
>>>1 2 3 4
8
L'impression et la division fonctionnent à nouveau correctement.