【问题标题】:Python programmes dont work while using pyperclip and sys.argvPython 程序在使用 pyperclip 和 sys.argv 时不起作用
【发布时间】:2020-03-22 16:47:03
【问题描述】:

我目前正在编写《使无聊的东西自动化》第 9 章扩展多剪贴板的练习项目。

代码:

#! python3
# mcb.pyw - Saves and loads peices of text to the clipboard
# Usage: py.exe mcb.pyw save <keywoard> - Saves clipboard to key keywoard
#       py.exe mcb.pyw <keywoard> - Loads keywoards to clipboard
#       py.exe mcb.pyw list - Loads all keywoards to clipboard

import shelve
import pyperclip
import sys

mcbShelf = shelve.open('mcb')
helpList = []
# Save clipboard content
if len(sys.argv) == 3:
    if sys.argv[1].lower == 'save':
        mcbShelf[sys.argv[2]] = pyperclip.paste()
    elif sys.argv[1].lower == 'delete':
        if sys.argv[2] == 'all':
            for key, balue in mcbShelf.items():
                helpList.append(key)

            for i in range(len(helpList)):
                del mcbShelf[helpList[i]]

        if sys.argv[2] in mcbShelf:
            del mcbShelf[sys.argv[2]]

    elif sys.argv[1].lower == 'add':
        mcbShelf[sys.argv[2]] = pyperclip.paste()


elif len(sys.argv) == 2:
    # List keywoards and load content
    if sys.argv[1].lower == 'list':
        pyperclip.copy(str(list(mcbShelf.keys())))

    elif sys.argv[1] in mcbShelf:
        pyperclip.copy(mcbShelf[sys.argv[1]])


mcbShelf.close()

当我从命令提示符启动程序时,例如使用“py mcb.py list” 绝对没有任何反应,我只是在命令提示符下转到下一行而没有错误消息。

我只在我的 pyperclip 和 sys.argv 程序中遇到这个问题。 如果我只使用 pyperclip,它似乎可以正常工作,有什么想法可以解决这个问题吗?

【问题讨论】:

    标签: python-3.x pyperclip


    【解决方案1】:

    对于初学者,如果您正在使用 Automate the Boring Stuff,文件扩展名应该是 .pyw,它不会在命令行上显示输出。

    要手动测试脚本是否正常工作,请在命令行中运行脚本之前复制一些文本。当你运行以下命令时,当前复制到剪贴板的文本会被保存到书架上,并且会与‘keyword’名称相关联,类似于字典键:值关系

    python3 mcb.pyw save <keyword>
    

    您可以通过运行此命令并将文本保存到唯一命名的关键字来保存任意数量的关键字:文本对。

    仅使用关键字参数 (python3 mcb.pyw &lt;keyword&gt;) 运行脚本会将与关键字关联的文本复制到剪贴板上。要查看该关键字的文本,请将其粘贴到打开的文本编辑器中。

    要查看关键字列表,只需运行:

    python3 mcb.pyw list
    

    通过运行此程序,您已使用 pyperclip 将架子键列表复制到剪贴板,因此现在您可以粘贴到打开的文本编辑器中查看已保存关键字的列表,因为命令行上不会有任何输出

    例如:

    1. 将电子邮件密码复制到剪贴板

    2. 运行python3 mcb.pyw save password

    3. 从新闻文章中复制引用

    4. 运行python3 mcb.pyw save quote

    5. 运行python3 mcb.pyw password

    6. 粘贴到文本编辑器以查看电子邮件密码

    7. 运行python3 mcb.pyw list

    8. 粘贴到文本编辑器中查看 ['password', 'quote']

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多