Nếu đó là cho mục đích riêng của mình, thì đây là một hack wee bẩn sử dụng clipboard mà không làm mất những gì đã có trước đây:
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
Lưu ý rằng ctrl + v không hoạt động trong tất cả các thiết bị đầu cuối, đáng chú ý là mặc định của Windows (có ways to make it work, mặc dù tôi khuyên bạn nên sử dụng ConEmu thay thế).
Tự động hóa tổ hợp phím cho các hệ điều hành khác sẽ liên quan đến một quá trình khác.
Hãy nhớ rằng đây là một bản hack nhanh và không phải là giải pháp "thích hợp". Tôi sẽ không chịu trách nhiệm về việc mất toàn bộ luận án tiến sĩ trong giây lát được lưu trữ trong clipboard của bạn. Đối với một giải pháp thích hợp, có các cách tiếp cận tốt hơn như curses cho Linux và trên Windows có giá trị là AutHotKey (có thể ném lên một hộp nhập liệu hoặc thực hiện một số thao tác gõ phím/clipboard). Quay lại đầu trang
Nói chung, bạn không thể - stdout là chỉ ghi. Nếu bạn muốn sử dụng thiết bị đầu cuối làm bộ đệm có thể thay đổi, hãy sử dụng các lời nguyền hoặc in lại toàn bộ màn hình trên mọi lần lặp lại. – delnan
Vâng, nếu bạn muốn một giải pháp bẩn sau đó bạn có thể thử các giải pháp in lại bằng cách móc lên '' sys.stdout'' với một đối tượng giống như tập tin tùy chỉnh. Nếu không, bạn phải dành chút thời gian để học tập thư viện '' curses''.Đây là một hướng dẫn hay về '' curses'': http://docs.python.org/howto/curses.html –
Cảm ơn. vì vậy không có cách nào dễ dàng để làm điều này. lời nguyền không phải dành cho cửa sổ bằng cách này ... – TMS