Si es para sus propios fines, entonces aquí un corte wee sucia usando el portapapeles sin perder lo que había antes:
def edit_text_at_terminal(text_to_edit):
import pyperclip
# Save old clipboard contents so user doesn't lose them
old_clipboard_contents = pyperclip.paste()
#place text you want to edit in the clipboard
pyperclip.copy(text_to_edit)
# If you're on Windows, and ctrl+v works, you can do this:
import win32com.client
shell = win32com.client.Dispatch("WScript.Shell")
shell.SendKeys("^v")
# Otherwise you should tell the user to type ctrl+v
msg = "Type ctrl+v (your old clipboard contents will be restored):\n"
# Get the new value, the old value will have been pasted
new_value= str(raw_input(msg))
# restore the old clipboard contents before returning new value
pyperclip.copy(old_clipboard_contents)
return new_value
Tenga en cuenta que ctrl + v no funciona en todos los terminales, notablemente el predeterminado de Windows (hay ways to make it work, aunque recomiendo usar ConEmu en su lugar).
La automatización de las teclas para otros sistemas operativos implicará un proceso diferente.
Recuerde que este es un truco rápido y no una solución "adecuada". No seré responsable por la pérdida de disertaciones de doctorado almacenadas momentáneamente en su portapapeles.
Para una solución adecuada hay mejores enfoques como curses para Linux, y en Windows vale la pena mirar en AutHotKey (tal vez arrojar un cuadro de entrada, o hacer algunas combinaciones de teclas/wizardry portapapeles).
En general, no se puede - stdout es de solo escritura. Si desea usar el terminal como buffer mutable, use maldiciones o vuelva a imprimir todo el contenido de la pantalla en cada iteración. – delnan
Sí, si quieres una solución sucia, podrías probar la solución de volver a imprimir conectando '' sys.stdout'' con un objeto similar a un archivo personalizado. De lo contrario, debes pasar un tiempo aprendiendo la librería '' maldiciones''.Aquí hay un buen tutorial sobre '' maldiciones'': http://docs.python.org/howto/curses.html –
Gracias. entonces no hay una manera fácil de hacer esto. maldiciones no es para Windows por cierto ... – TMS