- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是一名 Python 新手,正在尝试弄清楚如何让 Python 复制我在调用程序时突出显示的任何文本。
我查看了此线程中发布的解决方案:Copy highlighted text to clipboard, then use the clipboard to append it to a list
理论上一切都有意义,但问题是当我运行程序时,“pya.doubleClick(pya.position())”命令似乎摆脱了我的突出显示!如果我将光标悬停在文本上,那么程序会成功突出显示给定的单词 - 但我需要能够复制整个短语!
我想要实现的是能够突出显示屏幕上的任何文本(包括整个短语,而不仅仅是特定单词),然后运行程序,结果是突出显示的文本通过程序。
我曾预料到这会在突出显示文本时涉及某种“ctrl”+“c”功能的自动化……但我想不出真正让它起作用。
我在 Windows 10 上使用 Python 3.7.4。
这是我在上面链接的线程中作为解决方案呈现的代码:
import pyautogui as pya
import pyperclip # handy cross-platform clipboard text handler
import time
def copy_clipboard():
pyperclip.copy("") # <- This prevents last copy replacing current copy of null.
pya.hotkey('ctrl', 'c')
time.sleep(.01) # ctrl-c is usually very fast but your program may execute faster
return pyperclip.paste()
# double clicks on a position of the cursor
pya.doubleClick(pya.position())
list = []
var = copy_clipboard()
list.append(var)
print(list)
也许我真正的问题是我不知道如何让程序运行而不摆脱当时突出显示的任何文本的突出显示。目前,为了调用该程序,我使用了一种非常笨拙的方法,即为我的程序创建快捷方式,然后在该快捷方式的“属性”选项卡中指定该快捷方式的热键。
最佳答案
也许你可以使用键盘模块来监控热键,然后你可以打开CMD控制台,输入命令python yourcode.py
,或者将文件名更改为yourcode.pyw
可以在没有windows的后台运行,双击代码文件会有用。
键盘项目: https://github.com/boppreh/keyboard
注意不要使用list作为变量名,因为它是Python语言中的关键字。
以下代码在我的电脑上有效(win10,python3.7):
import pyautogui as pya
import pyperclip # handy cross-platform clipboard text handler
import time
import keyboard
lst = []
def copy_clipboard():
pyperclip.copy("") # <- This prevents last copy replacing current copy of null.
pya.hotkey('ctrl', 'c')
time.sleep(.1) # ctrl-c is usually very fast but your program may execute faster
return pyperclip.paste()
def double_click_copy():
# double clicks on a position of the cursor
pya.doubleClick(pya.position())
var = copy_clipboard()
lst.append(var)
print(lst)
keyboard.add_hotkey('ctrl+f9', double_click_copy)
keyboard.wait()
关于python - 在 Python 中将突出显示的文本复制到剪贴板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57831399/
有没有一种方法可以“标记”对象的属性,使它们在反射中“突出”? 例如: class A { int aa, b; string s1, s2; public int AA
我是一名优秀的程序员,十分优秀!