Это очень простой сниппер сумматор / средство просмотра / удаления. Как я хочу, чтобы это работало, пользователь вводит имя (ключ словаря), а затем текстовое тело (значение ключа), чтобы добавить записи. Например, «Testsnippet», который является ключом для значения «Это фрагмент тестового текста».
Я не знаю, что с этим не так. Попытка использовать опцию «добавить / изменить» позволяет мне ввести текст фрагмента, который я хочу ввести в качестве значения ключа, но при этом возникает ошибка: TypeError: объект 'type' не поддерживает назначение элемента
Кроме того, попытка использовать опцию удаления просто дает мне опцию добавления / изменения, а не опцию удаления. Использование «view» работает нормально.
from sys import exit
clip_list = {'test':'whatever, this is a test'}
breaker = "--------------------"
while True:
print "What do you want to do?"
print "[view] [add/modify] [remove] [quit]"
action = raw_input("> ")
if action == "view":
view_choice = raw_input("Enter snippet name to view OR type 'all' for the entire list:\n> ")
if view_choice == 'all':
print clip_list
print breaker
else:
print clip_list[view_choice]
print breaker
elif action == "add" or "modify":
snippet_name = raw_input("Enter snippet name:\n> ")
snippet_input = raw_input("Text:\n> ")
dict[str(snippet_name)] = str(snippet_input)
print "Added!"
elif action == "remove":
snippet_name = raw_input("Enter snippet name to remove:\n> ")
del dict[snippet_name]
print "Deleted!"
elif action == "quit":
print "Goodbye!"
exit(0)
else:
print "What? Please enter a valid command!"