Quelqu'un peut-il me donner un tutoriel rapide dans stdin et stdout en Python 3?
Je sais que cela sonne comme quelque chose que je peux google, mais la vérité est que je ne trouve pas ou ne comprends pas ce que très peu de Python 3 sources explique.
Voici donc mes questions:
- Est
input()
lastdin
fonction en Python 3? Cela signifie que lorsque vous ouvrez votre filename.py programme, lastdin
est ce que les types d'utilisateur? - Est
print()
lastdout
fonction en Python 3, ou avez-vous d'écrire dans un fichier? - Pour la Spotify puzzle, est dit "d'Entrée est lue depuis l'entrée standard stdin". Ce que mon dossier de
stdin
etstdout
?
Mise à jour:
Est-ce à dire que je peux utiliser:
import sys
unfmtdDate = str(sys.stdin.read())
...au lieu de...
unfmtdDate = str(input())
?
Qu'entendez-vous par 'stdin fonction" et "stout fonction"? Stdin et stout sont des fichiers. Pas de fonctions. Ces fichiers ont des méthodes pour la lecture ou l'écriture. Pouvez-vous préciser ce que vous entendez?
Je veux dire, comment pouvez-vous écrire dans les fichiers, et est-il possible de regarder ces fichiers?
Les réponses sont: 1. "Oui et non". 2. "Oui". 3. "Hein? Cette question n'a aucun sens." Mise à jour: "Oui et non".
"Est-ce à dire que je peux utiliser...?" Lorsque vous avez essayé, qu'avez-vous observer?
Il dit que je ne pouvez pas utiliser la lecture() de la fonction, même si plusieurs gars d'ici, m'a dit que je pouvais. Il serait également impossible de tester mon programme, car il l'habitude de promt
Je veux dire, comment pouvez-vous écrire dans les fichiers, et est-il possible de regarder ces fichiers?
Les réponses sont: 1. "Oui et non". 2. "Oui". 3. "Hein? Cette question n'a aucun sens." Mise à jour: "Oui et non".
"Est-ce à dire que je peux utiliser...?" Lorsque vous avez essayé, qu'avez-vous observer?
Il dit que je ne pouvez pas utiliser la lecture() de la fonction, même si plusieurs gars d'ici, m'a dit que je pouvais. Il serait également impossible de tester mon programme, car il l'habitude de promt
OriginalL'auteur Martin Hallén | 2012-01-24
Vous devez vous connecter pour publier un commentaire.
stdin
etstdout
, sont des fichiers comme des objets fournis par le système d'exploitation. En général, lorsqu'un programme est exécuté dans une session interactive,stdin
est entrée au clavier etstdout
est l'utilisateur de l'ats, mais le shell peut être utilisé pour rediriger à partir de fichiers normaux ou les canalisations de sortie et de l'entrée à d'autres programmes.input()
est utilisée pour inviter l'utilisateur pour les données saisies. Dans le cas de quelque chose comme un puzzle de programmation, il est généralement supposé questdin
est redirigé à partir d'un fichier de données, et lorsque le format d'entrée est donné, il est généralement préférable d'utilisersys.stdin.read()
plutôt que de les inviter pour l'entrée avecinput()
.input()
est prévu pour la saisie utilisateur interactive, il permet d'afficher une invite de commande (sur sys.stdout) et utiliser la bibliothèque GNU readline (si présent) pour permettre l'édition de la ligne, etc.print()
est, en effet, de la façon la plus courante de l'écriture àstdout
. Il n'y a pas besoin de faire quelque chose de spécial pour spécifier le flux de sortie.print()
écrit àsys.stdout
si aucun autre fichier est donné à elle comme unfile=
paramètre.OriginalL'auteur Wooble
input()
lit depuis l'entrée standard (appeléstdin
pour faire court, dans certains contextes), oui. Pas de langage que je connais est un fonction nomméstdin
dans la bibliothèque standard. Lorsque vous exécutez le programme de la manière habituelle, les types de l'utilisateur est fourni à l'entrée standard, oui. Qu'est ce que "l'entrée standard". Il y a un programme distinct qui est de nourrir les types de l'utilisateur à l'entrée standard (et deux autres pratique des choses comme l'interprétation de la touche retour arrière). Votre script n'est pas ce qui crée la fenêtre que le texte est tapé dans.sys.stdin
(c'est à dire, la valeurstdin
définis dans lesys
module) est un objet que représente de l'entrée standard. C'est fourni de sorte que vous pouvez l'utiliser dans des contextes où vous êtes attendus pour spécifier un fichier", à cause de l'entrée pour être lu à partir de l'utilisateur au lieu d'un fichier.print()
écrit (par défaut; vous pouvez fournir unfile
argument mot-clé pour changer cela) sur la sortie standard (appeléstdout
pour faire court, dans certains contextes), oui. Tous les avertissements ci-dessus s'appliquent:stdout
n'est pas une fonction dans n'importe quelle langue que je n'ai jamais entendu parler, et un tout autre programme est en fait à l'origine de la sortie de votre script à l'écran dans un joli 80x24 blanc-texte en noir d'arrière-plan (ou si vous l'avez configuré).sys.stdout
est un objet que représente la sortie standard, utilisé de la même façon àsys.stdin
. Vous pouvez l'utiliser de façon explicite avec l'print
fonction, mais il n'y a pas de point: c'est la valeur par défaut.Le problème de la spécification signifie "utiliser le
input()
fonction de recevoir des commentaires".input()
pas lire à partir d'un fichier spécifié (il y a des moyens pour provoquer l'entrée standard vers un fichier, mais encore une fois, c'est généralement à l'extérieur de votre programme). Il n'est pas censé être exactement symétrique avec laprint()
fonction. Après tout, il affiche une invite... ne serait pas logique de faire afficher une invite de commandes pendant la lecture d'un fichier, vous voyez?OriginalL'auteur Karl Knechtel
Lorsque vous exécutez votre programme en Python,
sys.stdin
est le fichier de l'objet connecté à l'entrée standard (STDIN),sys.stdout
est l'objet de fichier de sortie standard (STDOUT), etsys.stderr
est l'objet de fichier par erreur standard (STDERR).N'importe où dans la documentation, vous trouverez des références à l'entrée standard, la sortie standard, standard ou d'erreur, il est fait référence à ces descripteurs de fichiers. Vous pouvez y accéder directement (
sys.stdout.write(...)
,sys.stdin.read()
etc.) ou utiliser les fonctions de confort d'utilisation de ces flux, commeinput()
etprint()
.Pour le Spotify de puzzle, de la façon la plus simple pour lire l'entrée serait quelque chose comme ceci:
Après ces deux lignes de l'entrée de votre programme est maintenant dans le str
data
.OriginalL'auteur Andrew Clark
De la documentation Python pour
print
:OriginalL'auteur Greg Hewgill
Oui.
Oui.
Vous pouvez utiliser soit.
Suffit d'utiliser
import sys
pour se rendre à l'sys.stdin
etsys.stdout
fichiers. Vous n'avez pas besoin de l'importer si vous utilisez leinput
etprint
des fonctions intégrées à la place.stout
?stein
? Avoir une autre bière!DeSimone Merci!
Hewgill: Mon navigateur semble avoir grandi en lui-même une correction automatique de l'avenir. C'est ennuyeux.
OriginalL'auteur Mike DeSimone