рдЫреЛрдЯрд╛ рд╕рд╛ рдЖрдирдВрдж # 9: рдПрдХ рдорд╛рдирд╡ рдЪреЗрд╣рд░реЗ рдХреЗ рд╕рд╛рде рд╕рд╛рдВрддреНрд╡рдирд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ

рджрд╛рд░реНрд╢рдирд┐рдХреЛрдВ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдХрд┐ рд╡реЗ рдХрд┐рддрдиреА рдКрдБрдЪрд╛рдИ рдкрд░ рдирд╣реАрдВ рдЪрдврд╝ рд╕рдХрддреЗ, рд▓реЗрдХрд┐рди рдХрд┐рддрдиреЗ рдиреАрдЪреЗ рддрдХ рдЧрд┐рд░ рд╕рдХрддреЗ рд╣реИрдВред


рджреБрдирд┐рдпрд╛ рдореЗрдВ рдХрдИ рдорд╣рд╛рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╣реИрдВ рдЬреЛ рд╢рд╛рдирджрд╛рд░ рдПрд▓реНрдЧреЛрд░рд┐рджрдо, рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдФрд░ рдорд╣рд╛рди рдХреЛрдб рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпреЗ рд╡рд╣реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ рдпрд╛ рдбреЗрдЯрд╛ рдкреИрдЪ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЫреЛрдЯреЗ рдХрдВрд╕реЛрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдФрд╕рдд рджрд░реНрдЬреЗ рдХрд╛ рд╕рдВрдЧрдард┐рдд рдХреЛрдб рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдХрдХреНрд╖рд╛рдУрдВ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдХреЛрдИ рдЯреВрдЯ рдирд╣реАрдВ, рдЕрдирд╛рдбрд╝реА рдЧреБрдЬрд░ рддрд░реНрдХ, print() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдЕрд╕реНрдкрд╖реНрдЯ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЖрджрд┐рдо рдЙрддреНрдкрд╛рджрди print()


рдЖрдЬ рд╣рдо рдмреЗрд╣рддрд░ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдЬреНрдпрд╛рджрд╛рддрд░ рд▓реЛрдЧ - рдбрд┐рд╕реНрдкреЛрдЬреЗрдмрд▓ рдХрдВрд╕реЛрд▓ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдФрд░ рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред


рдЫрд╡рд┐


рдЕрдЬрдЧрд░-рдиреВрдмрд┐рдпрд╛


рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЕрдЪреНрдЫрд╛рдИ рдХреЗ рджреВрд╕рд░реЗ рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рдирд┐рдЧрдо рд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп - рдлреЗрд╕рдмреБрдХред рд╕реНрдерд╛рдиреАрдп рдЗрдВрдЬреАрдирд┐рдпрд░, рднреА, рдХрдВрд╕реЛрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЕрд░рд╛рдЬрдХрддрд╛ рд╕реЗ рдердХ рдЧрдП рдереЗ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЛрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЗрдВрдЯрд░реЗрдХреНрдЯрд┐рд╡ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдмреЗрд╢рдХ, рд╢рд╛рдмреНрджрд┐рдХред


рдЫрд╡рд┐


  • рдЖрдкрдХреЗ рдХрдВрд╕реЛрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдд: рдкреВрд░реНрдгред
  • рдЖрдк рд╕реНрд╡рдд: рдкреВрд░реНрдг рдХреЛ рдЯрд░реНрдорд┐рдирд▓ рд╕реНрддрд░ (рдмреИрд╢ рдФрд░ zsh рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ) рд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
  • рдПрдХ рд╕реБрдЦрдж рдФрд░ рд╕реБрдВрджрд░ рд╕реНрдерд┐рддрд┐ рдмрд╛рд░ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред
  • рдлрд╝рдВрдХреНрд╢рди рддрд░реНрдХреЛрдВ рдФрд░ рдЙрдирдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕реЗрдЯ рдкрд░ рд╕рдВрдХреЗрдд рдФрд░ рд╕рддреНрдпрд╛рдкрдиред

Termgraph


рдХрдВрд╕реЛрд▓ рдХреЛ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рдорд╛рдкрди рдХреЗ рд╕рд╛рде, рдХрдИ рдЖрдо рддреМрд░ рдкрд░ рдкрд░реЗрд╢рд╛рдиреА рд╣реЛрддреА рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдЕрдХреНрд╕рд░ print() рдХреЗ рд╕рд╛рдзрд╛рд░рдг рдЖрдЙрдЯрдкреБрдЯ print() рд▓рд┐рдП рдиреАрдЪреЗ рдЖрддрд╛ рд╣реИред рдпрд╣ рдкрдврд╝рдирд╛, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИред


рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рдХреА рдПрдХ рдбреНрд░рд╛рдЗрдВрдЧ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЖрд░реЗрдЦ рд╣реИ


рдпрд╣ рдЖрдкрдХреЛ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдРрд╕реА рддрд╕реНрд╡реАрд░реЗрдВ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ



рдпрд╛ рдРрд╕реЗ рдФрд░ рдЬрдЯрд┐рд▓



рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрдЯреНрдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдПрдХ рд╕реБрдВрджрд░ рдкрдЯреНрдЯреА рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдкреНрд░рдЧрддрд┐ рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ - рдФрд░ рдпрд╣ рд╕рдордЭ рд╕реЗ рдмрд╛рд╣рд░ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдореБрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢рд╛рдВрдд рдФрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реБрдЦрдж рд╣реЛрдЧрд╛ред


рдХрдкрдбрд╝рд╛


рджреВрд░рд╕реНрде рдорд╢реАрдиреЛрдВ рдкрд░ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рджрд░реНрдж рд╣реЛрддрд╛ рд╣реИред рдмреЗрд╢рдХ, рд╣рдо рджреЗрд╡рдУрдкреНрд╕ рдпреБрдЧ рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВ, рдЬрдм рдирдордХ рдФрд░ рдЕрд╕реНрдерд┐рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдвреЗрд░ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рднреА рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рджреВрд░рд╕реНрде рд╡реНрд╣реАрд▓рдмрд░реНрд╕ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдФрд░ рд╡рд╣рд╛рдВ рдХрдорд╛рдВрдб рдХреЗ рдмреИрдЪ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП, рдХрдкрдбрд╝реЗ рд╣реИ


  • рд╡рд┐рднрд┐рдиреНрди рд╣реЛрд╕реНрдЯ рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди - рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдмрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рджреВрд░рд╕реНрде рдХрд╛рд░реЛрдВ рдХреЛ рд▓рд┐рдЦреЗрдВред
  • рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдиреАрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╡реНрд╣реАрд▓рдмрд░реНрд╕ - рдЖрдк рдЪрд╛рдмрд┐рдпрд╛рдБ рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  • рдЙрдк-рдЦрдВрдбреЛрдВ рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЯреВрдЯрдирд╛, рдмрдбрд╝реА рдЯреАрдореЛрдВ рдореЗрдВ рдЙрдк-рд╕рдореВрд╣ рдХрд╛ рд╕рдореВрд╣ - рдЖрдк рдЙрд╕ рдХреЛрдб рдХреА рдПрдХ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдЬрдЯрд┐рд▓ рддрд╛рд░реНрдХрд┐рдХ рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЖрдк рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
  • рдФрд░, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдЖрдк рдЯрд░реНрдорд┐рдирд▓ рдХрдорд╛рдВрдб рдХреЛрдб рдХреЗ рд╕рд╛рде рдХреЛрдб рдореЗрдВ рднреА рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ!

рдлреИрдмреНрд░рд┐рдХ рдкреИрд░рд╛рдорд┐рдХреЛ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдЖрдк рдЗрд╕ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдПрд╕рдПрд╕рдПрдЪ рд╕рдВрдЪрд╛рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдлреИрдмреНрд░рд┐рдХ рдПрдмреНрд╕рдЯреНрд░реИрдХреНрд╢рди рдХрд╛ рдЖрд╡рд╢реНрдпрдХ рд╕реНрддрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдФрд░ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред


рдЕрдЬрдЧрд░-рд╢реАрдШреНрд░-рдЯреВрд▓рдХрд┐рдЯ


рдпрд╣ рд▓рд┐рдм рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЯреЗрдХреНрд╕реНрдЯ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдХрдорд╛рдВрдб рдкреНрд░реЙрдореНрдкреНрдЯ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред


 from prompt_toolkit import prompt while 1: user_input = prompt('>') print(user_input) 

рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдЖрдк рдЕрдкрдиреЗ рдЯрд░реНрдорд┐рдирд▓ рдХреА рддрд░рд╣ рд╣реА рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЧрдП рдХрдорд╛рдВрдб рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред


 from prompt_toolkit import prompt from prompt_toolkit.history import FileHistory while 1: user_input = prompt('>', history=FileHistory('history.txt'), ) print(user_input) 

рдФрд░ рдЖрдк рдЗрдирдкреБрдЯ рдЗрддрд┐рд╣рд╛рд╕ рд╕реЗ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдСрдЯреЛ-рдкреНрд░реЙрдореНрдкреНрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред


 from prompt_toolkit import prompt from prompt_toolkit.history import FileHistory from prompt_toolkit.auto_suggest import AutoSuggestFromHistory while 1: user_input = prompt('>', history=FileHistory('history.txt'), auto_suggest=AutoSuggestFromHistory(), ) print(user_input) 

рдФрд░ рдХреБрдЫ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЖрджреЗрд╢реЛрдВ рдХреЛ рдСрдЯреЛ-рдкреНрд░реЙрдореНрдкреНрдЯ рд╕рд┐рдЦрд╛рдПрдВред


 from prompt_toolkit import prompt from prompt_toolkit.history import FileHistory from prompt_toolkit.auto_suggest import AutoSuggestFromHistory from prompt_toolkit.contrib.completers import WordCompleter SQLCompleter = WordCompleter(['select', 'from', 'insert', 'update', 'delete', 'drop'], ignore_case=True) while 1: user_input = prompt('SQL>', history=FileHistory('history.txt'), auto_suggest=AutoSuggestFromHistory(), completer=SQLCompleter, ) print(user_input) 

рд▓рд┐рдмрд╛ рдмреЗрд╣рдж рд╕рд░рд▓ рд╣реИ рдФрд░ рдпрд╣ рдЖрдкрдХреЗ рдЦреБрдж рдХреЗ рд╢рд╛рдВрдд рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред


рдпрд╣ рдХреНрдпреЛрдВ рд╣реИ?


рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдПрдХ рдмрд╛рд░ рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рд╡рдзрд╛рдиреА рдЖрдкрдХреЛ рдЗрдЬреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХреЛрдб рдирд╣реАрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдХрдВрд╕реЛрд▓ рдЯреВрд▓ рдЬрд┐рдиреНрд╣реЗрдВ рдмрд╛рдж рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╕рдордп рдмрдЪрд╛рддрд╛ рд╣реИ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЖрдкрдХреА рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрдЦрдж рдмрдирд╛рддрд╛ рд╣реИред

Source: https://habr.com/ru/post/hi463725/


All Articles