En C++, nous pouvons entrer plusieurs lignes en donnant notre propre choix de caractère de délimitation dans la fonction getline() .. Cependant, je ne suis pas capable de faire la même chose en Python !! il n'a que les méthodes raw_input() et sys.stdin.readline() qui lisent jusqu'à ce que j'appuie sur enter. Y at-il un moyen de personnaliser cela afin que je puisse spécifier mon propre délimiteur?Python équivalent de C++ getline()
Répondre
Voulez-vous toujours appuyer sur Entrée pour créer plusieurs lignes? Comment finissez-vous l'entrée? Ou voulez-vous spécifier plusieurs lignes sur une seule ligne?
Si l'ancien, essayez boucle raw_input() jusqu'à ce que quelque chose est écrit qu'il dit d'arrêter:
lines = []
while True:
user_input = raw_input()
if user_input.strip() == "": # empty line signals stop
break
lines.append(user_input)
Ou spécifier plusieurs lignes sur une seule ligne en utilisant un séparateur:
lines = raw_input().split(";")
Vous pouvez essayer de modifier cette méthode un peu pour l'utiliser et l'utiliser dans votre programme.
En premier lieu, importer le module linecache:
import linecache
Le module linecache vous permet d'accéder à une ligne de tout fichier. De ses trois méthodes, celle que vous utiliserez le plus est getline. La syntaxe de getline est la suivante:
linecache.getline('filename', line_number)
Si vous avez un fichier appelé « myfile.txt » et que vous souhaitez lire la ligne 138 de celle-ci, getline vous permet de le faire avec facilité.
retrieved_line = linecache.getline('myfile.txt', 138)
Ensuite, vous pouvez simplement imprimer retrieved_line ou manipuler les données de la ligne 138 sans faire la chirurgie sur le fichier lui-même.
Merci pour la suggestion ur .. :-) –
Vous devrez mettre en place une telle fonction vous-même. Par exemple:
def getline(stream, delimiter="\n"):
def _gen():
while 1:
line = stream.readline()
if delimiter in line:
yield line[0:line.index(delimiter)]
break
else:
yield line
return "".join(_gen())
import sys
getline(sys.stdin, ".")
c'est aussi good..will voir lequel j'utilise enfin .... –
- 1. C++ timeout sur getline
- 2. C++ EOF Getline Erreur
- 3. python struct.pack équivalent en C++
- 4. Équivalent en Python de C# .Select?
- 5. C++ équivalent aux doctests de Python?
- 6. de ENUM Python équivalent
- 7. getline en C++ - Besoin d'aide
- 8. Python équivalent de Jstack?
- 9. Python équivalent de pointeurs
- 10. C++: getline() ignorant les premiers caractères
- 11. C++ équivalent urljoin
- 12. Existe-t-il un C# équivalent à unhexlify de Python?
- 13. Python équivalent de court-forme "si" en C++
- 14. Java équivalent pour 'x in (a, b, c)' de Python?
- 15. équivalent PHP de func Python (* [args])
- 16. python - équivalent strtotime?
- 17. simplexml_load_string équivalent Python/Django
- 18. Remplacer en Python- * équivalent?
- 19. Haskell équivalent de C __LINE__
- 20. Utilisation de plusieurs instances de getline en C++
- 21. manutention SIGINT et getline
- 22. C# équivalent de C sscanf
- 23. C# équivalent de C++ mem_fun?
- 24. Python équivalent à atoi/atof
- 25. C équivalent de java.util.concurrent.ArrayBlockingQueue
- 26. équivalent ungetc de C#
- 27. C++ équivalent de fscanf()?
- 28. C# Équivalent de "My.Computer.Network.Ping"
- 29. C# équivalent de GetObject
- 30. C# Équivalent de Snoopy
cela convient à ma cause très bien .. :-) –