Que signifie '\ r'? Qu'est ce que ça fait? Je ne l'ai jamais vu auparavant et cela me donne des maux de tête. Il ne semble pas avoir de but, puisque 'a \ ra' s'imprime comme 'aa', mais ce n'est pas la même chose que la chaîne 'aa'. Im using python 2.6Qu'est-ce que cela signifie?
Répondre
C'est un vieux caractère de contrôle des machines à écrire. Cela signifie "retour chariot". À ce moment-là, lorsque vous avez appuyé sur «Entrée», vous alliez à la ligne suivante, puis le chariot est revenu au début de la ligne (d'où le retour chariot). Ensuite, avec les ordinateurs, différents systèmes d'exploitation ont fait des choix différents pour représenter les nouvelles lignes. Sur les fenêtres, vous avez "\ r \ n" (retour chariot + nouvelle ligne). Sur les unices, vous avez "\ n" seulement (pas besoin de faire un retour chariot, c'était en quelque sorte impliqué par la nouvelle ligne). Sur ancien système d'exploitation Mac, vous n'aviez "\ r" que.
De nos jours, il n'est pas utilisé sauf pour les nouvelles lignes (ou je ne connais pas d'autres utilisations).
Il est parfois utilisé pour afficher un indicateur de progression de mise à jour sur une ligne: 'printf (" 1 %% "); fflush (stdout); dormir (1); printf ("\ r2 %%"); '. Le premier printf laisse le curseur à la fin de la ligne. Le second printf utilise '\ r' pour ramener le curseur au début de la ligne, puis remplace le' 1% 'par' 2% '. –
Oh oui, j'ai oublié ça :-) – Scharron
C'est l'évasion pour le retour chariot. Sur ma console, fonctionnant sous Windows, print 'a\ra'
résultats dans ...
a
a
... s'imprimé à stdout. Voici une liste de all valid escapes.
\newline
- Ignoré\\
- Backslash()\'
- Apostrophe (')\"
- Guillemet (")\a
- ASCII Bell (BEL)\b
- Retour arrière ASCII (BS)\f
- ASCII Formfeed (FF)\n
- ASCII Linefeed (LF)\N{name}
- Caractère appelé nom dans la base de données Unicode (Unicode seulement)\r
- ASCII de retour chariot (CR)\t
- ASCII horizontal (TAB)\uxxxx
- Caractère avec\Uxxxxxxxx
xxxx (Unicode seulement) de valeur hexadécimale 16 bits - caractère avec la valeur hexadécimale 32-bit xxxxxxxx (Unicode seulement)\v
- ASCII vertical Tab (VT)\ooo
- Caractère avec la valeur octal ooo\xhh
- caractère avec valeur hexadécimale hh
'imprimer 'a \ ra'' sous Windows me donne juste un' a'. Le retour chariot sans nouvelle ligne fait que le second écrase le premier. – FogleBird
Cela dépend de la façon dont votre console interprète la séquence de contrôle, je suppose. Un bon argument pour toujours utiliser 'repr' quand vous déboguez, et éviter les caractères de contrôle autant que possible si vous ne le faites pas. –
devrait être un retour chariot ... quelque chose comme une nouvelle ligne. .. regard http://www.wilsonmar.com/1eschars.htm
Pour moi (sur un Mac OS X 10.5 Terminal.App, Python 2.6.5):
>>> print 'a\ra'
a
ou pour donner un meilleur exemple:
>>> print 'longstring\rshort'
shorttring
OIEau, le \r
« renvoie le curseur au début de la ligne » (sans lancer une nouvelle longue) de sorte que 'short'
" écrase "le début de 'longstring'
. Cet effet est sympa de montrer à l'utilisateur qu'un "état actuel" d'une ligne est en cours de mise à jour pendant une longue opération - utilisez print '\rupdate',
avec une virgule flottante pour éviter d'émettre un caractère de nouvelle ligne, pour mettre à jour le statut en écrasant le précédent. Bien sûr, vous devez vous assurer que chaque chaîne mise à jour ainsi montrée est au moins aussi longue que la précédente (facile en remplissant simplement les espaces). Notez que les autres intervenants ont remarqué des effets visuels différents sur leurs plateformes (vous avez vous-même vu \r
disparaître sans effet, ce qui est sans précédent dans mon expérience) donc cette belle façon de fournir des mises à jour ne fonctionnera pas bien sur toutes les plateformes! -)
- 1. Qu'est-ce que cela signifie?
- 2. Qu'est-ce que cela signifie en javascript?
- 3. Signe JSP $ qu'est-ce que cela signifie
- 4. Qu'est-ce que cela signifie dans AS3?
- 5. Rails logs. qu'est-ce que cela signifie
- 6. Qu'est-ce que cela signifie par événement?
- 7. qu'est-ce que cela signifie? javascript question
- 8. SQL répétitif: qu'est-ce que cela signifie?
- 9. Est-ce que "LValue" ne signifie pas ce que je pense que cela signifie?
- 10. Qu'est-ce que POI et qu'est-ce que cela signifie?
- 11. Comment est-ce que je comprends ce que cela signifie?
- 12. Appication Active Directory Support, qu'est-ce que cela signifie exactement?
- 13. JPanel dit être opaque qu'est-ce que cela signifie?
- 14. Qu'est-ce que: cela signifie dans Ruby on Rails?
- 15. WCF net.tcp liaison 808: * qu'est-ce que cela signifie?
- 16. Qu'est-ce que cela signifie de doubler la licence?
- 17. Qu'est-ce que cela signifie si un objet est scriptable?
- 18. qu'est-ce que cela signifie et c'est la sortie?
- 19. Qu'est-ce que cela signifie en langue Ruby?
- 20. Java erreur fatale, ne sait pas ce que cela signifie
- 21. Qt moc error 1 - qu'est-ce que cela signifie?
- 22. Qu'est-ce que cela signifie? (java, base de données)
- 23. Qu'est-ce que cela signifie - connexion via SSL
- 24. Qu'est-ce que cela signifie? expr1 = expr2 Mod expr3 = 0
- 25. Que cela signifie-t-il lorsque AuthorizationExecuteWithPrivileges() renvoie -1?
- 26. magento - Autoriser les pays - Qu'est-ce que cela signifie?
- 27. qu'est-ce que cela signifie: var _gaq = _gaq || [];
- 28. Une expression étrange en C++ - qu'est-ce que cela signifie?
- 29. _ => qu'est-ce que cela signifie dans les expressions lambda?
- 30. Qu'est-ce que cela signifie de renvoyer le client?
FYI aux autres Googleurs - Sous Windows, je reçois un '' \ r'' quand je lis stdout depuis un processus appelé avec le module 'subprocessing', mais quand je lis depuis stdin dans le processus, le' '\ r' 'n'est pas là. –