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 Jstack?
- 7. Python Equivalente a phpinfo()
- 8. getline en istream y getline en basic_string
- 9. Python equivalente a atoi/atof
- 10. C# equivalente a shell_exec
- 11. C# equivalente a InStrRev
- 12. C++ equivalente a java.lang.Integer.MIN_VALUE
- 13. Rubí equivalente a Python __main__
- 14. Python equivalente a "php -s"
- 15. Clojure equivalente a Python doctest?
- 16. Equivalente a Maven para python
- 17. Python equivalente a usar la declaración de C# 's
- 18. MATLAB equivalente a string.join de Python()
- 19. Python equivalente a la función LINQ All?
- 20. ¿Necesita ayuda con getline()
- 21. istream :: getline return type
- 22. std :: getline() devuelve
- 23. C# Equivalente a Java IdentityHashMap
- 24. Equivalente a #region para C++
- 25. C equivalente a fstream's peek
- 26. Equivalente a window.setTimeout() para C++
- 27. Equivalente a Double.doubleToLongBits en C#?
- 28. Objective-C equivalente a "anular" en C#
- 29. Python 3 string.join() equivalente?
- 30. getline no pide entrada?
este se adapte a mi causa bien .. :-) –