Python программы не работают при использовании pyperclip и sys.argv - PullRequest
0 голосов
/ 22 марта 2020

В настоящее время я работаю над книгой «Автоматизация скучного материала», глава 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", ничего не происходит, я просто go на следующую строку в моей командной строке без сообщения об ошибке.

Эта проблема возникает только в моих программах с pyperclip и sys .argv. Если я использую только pyperclip, похоже, что он работает правильно, есть идеи, как решить проблему?

...