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