粘贴到 Python 时如何截断回车 return

How to truncate carriage return when pasting into Python

我创建了一个将复制到系统剪贴板的函数。但是,当我从剪贴板粘贴值时,它会自动执行回车 return。这极大地影响了我程序中的计算。

注意:不能使用 Pyperclip 或任何其他安装。为此,我只能使用 Python IDLE 3.8 中包含的内容

我试过将 strip() 方法与 clipboard_answer 变量一起使用。距离下一行 return 秒

def copy(solution_answer): 
    clipboard_answer = str(solution_answer)
    command = 'echo ' + clipboard_answer.strip() + '| clip' # Creates command variable, then passes it to the os.system function as an argument. CMD opens and applys echo (number calculated) | clip and runs the clipboard function
    os.system(command)
    print("\n\n\n\n",solution_answer, "has been copied to your clipboard") # Used only for confirmation to ensure copy function runs

假装“|”图标是光标

我有一个解决方案已复制到我的剪贴板,即 25

当我在程序中按 CTRL+V 时,我希望它这样做

25 |

但实际上光标是这样的

25

|

import pyperclip

pyperclip.copy(solution)

这应该可以解决问题。

编辑:再次使用 tkinter 解决方案,因为 pyperclip 不是 OP 的选项。

from tkinter import Tk

r = Tk()
r.withdraw()
r.clipboard_clear()
r.clipboard_append("hello world")
r.update()

不要使用 os.system。使用 subprocess,您可以将字符串直接提供给 clip 的标准输入,而无需调用 shell 管道。

from subprocess import Popen, PIPE

Popen(["clip"], stdin=PIPE).communicate(bytes(solution_answer))