def main(): creation_schema = Path.join( # склеивает путь файла с разделитилем определённой OS Path.dirname(__file__), 'schema.sql' # позволяет вернуть родительскую директорию файла и отрежет файл оставив только путь ) with get_connection() as conn: storage.initialize(conn, creation_schema) actions = { '1': action_add, '2': action_find, '3': action_find_all, 'm': action_show_menu, 'q': action_exit } action_show_menu() # метод get не завершит программу при ошибочном вводе, он обрезает ошибочный ввод while True: cmd = input('\n Введите команду: ') action = actions.get(cmd) if action: action() else: print('Неизвестная команда')
def main(): with get_connection() as conn: storage.initialize(conn) action_show_menu() ''' удалили actions = { '1': action_add, '2': action_find, '3': action_find_all, 'm': action_show_menu, 'q': action_exit, } ''' while 1: cmd = input('\nВведите команду: ') action = actions.get( cmd) # не дает ошибку при отсутствии ключа (возвращает None), # проверяет наличие if action: #action() # меняем action.func() else: print('Неизвестная команда')
def main(): with get_connection() as conn: storage.initialize(conn) action_show_menu() while 1: cmd = input('\nВведите команду: ') action = actions.get(cmd) if action: action() else: print('Неизвестная команда')
def main(): with get_connection() as conn: storage.initialize(conn) action_show_menu() while 1: cmd = input('\nВведите команду: ') action = actions.get(cmd) #без исключения вернет None, если ключа нет (если в качестве ключа None, то значение по-умолчанию не вернется) if action: action.func() else: print('Неизвестная команда')
def main(): creation_schema = Path.join(Path.dirname(__file__), 'schema.sql') with get_connection() as conn: storage.initialize(conn, creation_schema) action_show_menu() while True: cmd = input('\nВведите команду:') action = actions.get(cmd) if action: action.func() else: print('Неизвестная команда')
def main(): with get_connection() as conn: storage.initialize(conn) action_show_menu()
def main(): with get_connection() as conn: storage.initialize(conn) action_show_menu()#ругается и говорит что TypeError: 'NoneType' object is not callable
import sys from url_shortener import storage conn = storage.connect() storage.initialize(conn) def action_find_all(): urls = storage.find_all(conn) for url in urls: print('{url[short_url]} - {url[original_url]} - {url[created}}'.format( url=url)) def action_show_menu(): print(''' Сокращатель ссылок 1. Добавить url адрес 2. Найти оригинальный url адрес 3. Вывести все url адреса m. Показать меню q. Выйти''') def action_exit(): sys.exit(0)