返回

python-使用从剪贴板中提取的数据更新字符串,然后立即粘贴此更新的字符串

发布时间:2022-04-09 04:48:44 615
# node.js

我正在做一个样板脚本。理想情况下,这个脚本应该从键盘缩写开始。当我输入“时”;“10天”;这个脚本将在样板文件中添加一个未来10个工作日的日期,并提取剪贴板中的内容(大概是名称),并更新问候语中的“名称”。

date函数工作得很好(多亏了我在这里读到的一个线程)。

现在我被困在如何拉剪贴板中的内容来更新样板文件中的名称上。

我不确定我是否可以使用键盘运行函数。加上缩写。经过多次尝试和错误之后,我换了方向,开始使用键盘。添加热键,但我似乎仍然无法用剪贴板中的内容更新样板文件。

以下是我目前掌握的代码:

import keyboard
import win32clipboard
import datetime

#Establishing business days
def date_by_adding_business_days(from_date, add_days):
    business_days_to_add = add_days
    current_date = from_date
    while business_days_to_add > 0:
        current_date += datetime.timedelta(days=1)
        weekday = current_date.weekday()
        if weekday >= 5: # sunday = 6
            continue
        business_days_to_add -= 1
    return current_date.strftime('%A, %m/%d')

name = ''

# This seems to be where I'm having the issue
def getName():
    global name
    win32clipboard.OpenClipboard()
    name = win32clipboard.GetClipboardData()
    win32clipboard.CloseClipboard()
    keyboard.write(tenDay_BP)
    return name

#Adding days to the current date
tenBusinessDays = str(date_by_adding_business_days(datetime.date.today(), 10))

#Boilerplate messaging
tenDay_BP = 'hi ' + name + ', I have this scheduled to be ready for your review by US EOB ' + tenBusinessDays

keyboard.add_hotkey('ctrl + alt + c', lambda: getName())
#keyboard.add_abbreviation('10day', tenDay_BP)

# Block forever, like `while True`.
keyboard.wait('esc')

理想情况下,该脚本不应干扰剪贴板的常规功能,我只想借用剪贴板中的内容。

我之前提交了一个问题,但希望这能提供更多的背景,我可能会对如何解决我的特定问题有更清晰的理解。

def getName():
  global namekeyboard.press_and_release('ctrl + alt + c')
  time.sleep(.5)
  win32clipboard.OpenClipboard()
  name = win32clipboard.GetClipboardData()
  win32clipboard.CloseClipboard()
  keyboard.write(tenDay_BP)
  return name

我希望当我按下'ctrl+alt+c'时,getName会发送'quot;ctrl+c“组合键;,用新内容重新加载剪贴板。我添加了睡眠,以便在我进入剪贴板之前有时间进行更新,win32clipboard将结果存储在“name”中,这样当我最终运行键盘时。写下(tenDay_BP)问候语中将包含姓名。这不会发生。

如果我在name=win32clipboard之后运行print(name)。OpenClipboardData()我可以看到我正在收集数据,而不是更新样板文件。

我尝试过使用Pynput,但语法方面我遇到了困难。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像