Удаление ключа

s591962

Новичок
Пользователь
Окт 12, 2021
130
3
18
Код:
#! python3
# mcbzad.pyw - Сохраняет и загружает фрагменты текста в буфер обмена.
# Usage: C:\Python310\python.exe D:\Python\1\mcbzad.pyw save <keyword> - сохраняет аргумент из буфера обмена по ключевому слову.
#        C:\Python310\python.exe D:\Python\1\mcbzad.pyw <keyword> - загружает аргумент по ключевому слову в буфер обмена.
#        C:\Python310\python.exe D:\Python\1\mcbzad.pyw list - загружает все ключевые слова в буфер обмена.
#        C:\Python310\python.exe D:\Python\1\mcbzad.pyw ddel <keyword> - удаляет ключ.
import shelve, pyperclip, sys

mcbShelf = shelve.open('mcbzad')


# Сохраните содержимое буфера обмена.
if len(sys.argv) == 3 and sys.argv[1].lower() == 'save':
        mcbShelf[sys.argv[2]] = pyperclip.paste()
        print([sys.argv[0]])
        print([sys.argv[1]])
        print([sys.argv[2]])
        print(mcbShelf[sys.argv[2]])     
elif len(sys.argv) == 2:
# Сформировать список ключевых слов и загрузите содержимое.
    if sys.argv[1].lower() == 'list':
            print(len(sys.argv))
            pyperclip.copy(str(list(mcbShelf.keys())))
    elif sys.argv[1] in mcbShelf:
            pyperclip.copy(mcbShelf[sys.argv[1]])

# Удаление ключа.
if len(sys.argv) == 3 and sys.argv[1].lower() == 'ddel':
        d = [sys.argv[1]]
        mcbShelf.pop(d)


mcbShelf.close()

Программа сохраняет аргумент по ключу. Не работает последняя часть, где удаляется ключ и аргумент из командной строки.

C:\Python310\python.exe D:\Python\1\mcbzad.pyw ddel <keyword>
 

s591962

Новичок
Пользователь
Окт 12, 2021
130
3
18
решил
Код:
elif len(sys.argv) == 3 and sys.argv[1].lower()== 'delete':
if sys.argv[2] in mcbShelf:
mcbShelf.pop(sys.argv[2])
 

Форум IT Специалистов