En C++ podemos ingresar varias líneas al dar nuestra propia opción de delimitar caracteres en la función getline() ... ¡sin embargo, no puedo hacer lo mismo en Python! solo tiene métodos raw_input() y sys.stdin.readline() que se leen hasta que presiono enter. ¿Hay alguna forma de personalizar esto para que pueda especificar mi propio delimitador?Python equivalente a C++ getline()
Respuesta
¿Aún desea presionar enter para crear líneas múltiples? ¿Cómo finalizas la entrada? ¿O quieres especificar varias líneas en una sola línea?
En el primer caso, trate de bucle raw_input() hasta que algo está escrito que dice que se detenga:
lines = []
while True:
user_input = raw_input()
if user_input.strip() == "": # empty line signals stop
break
lines.append(user_input)
O para especificar varias líneas en una sola línea utilizando un delimitador:
lines = raw_input().split(";")
Puede intentar modificar este método un poco para usarlo y usarlo en su programa.
En primer lugar, importe el módulo de linecache:
import linecache
El módulo linecache le permite acceder a cualquier línea de cualquier archivo. De sus tres métodos, el que probablemente usará más es getline. La sintaxis para getline es el siguiente:
linecache.getline('filename', line_number)
Si usted tiene un archivo llamado 'miarchivo.txt' y le gustaría leer la línea 138 de la misma, getline le permite hacerlo con facilidad.
retrieved_line = linecache.getline('myfile.txt', 138)
Luego, simplemente puede imprimir la línea recuperada o manipular los datos de la línea 138 sin realizar ninguna operación en el archivo.
gracias por ur sugerencia .. :-) –
Tendrá que implementar esa función usted mismo. Por ejemplo:
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, ".")
esto también es good..will ver cuál finalmente utilizo .... –
- 1. Python equivalente a C# .Seleccione?
- 2. C++ equivalente a los docámenes de Python?
- 3. C++ equivalente a la función Python len()?
- 4. Equivalente a __func__ (de C) en Python
- 5. Python equivalente a find2perl
- 6. Python Equivalente a phpinfo()
- 7. getline en istream y getline en basic_string
- 8. Python equivalente a atoi/atof
- 9. C# equivalente a shell_exec
- 10. C# equivalente a InStrRev
- 11. C++ equivalente a java.lang.Integer.MIN_VALUE
- 12. Equivalente a Maven para python
- 13. Rubí equivalente a Python __main__
- 14. Clojure equivalente a Python doctest?
- 15. Python equivalente a "php -s"
- 16. Python equivalente a usar la declaración de C# 's
- 17. MATLAB equivalente a string.join de Python()
- 18. Python equivalente a la función LINQ All?
- 19. ¿Necesita ayuda con getline()
- 20. istream :: getline return type
- 21. std :: getline() devuelve
- 22. Equivalente a window.setTimeout() para C++
- 23. C equivalente a fstream's peek
- 24. Equivalente a Double.doubleToLongBits en C#?
- 25. Equivalente a #region para C++
- 26. C# Equivalente a Java IdentityHashMap
- 27. Objective-C equivalente a "anular" en C#
- 28. Python 3 string.join() equivalente?
- 29. getline no pide entrada?
- 30. enumeración de Python equivalente
este se adapte a mi causa bien .. :-) –