Docopt մոդուլ Python-ում


Docopt մոդուլը Python-ում օգտագործվում է հրամանի տողի միջերեսներ ստեղծելու համար: Հրամանի տողի այլ փաստարկների և ընտրանքների նման, docopt-ը մեզ թույլ է տալիս սահմանել հրամանի տողի փաստարկներ և տարբերակներ, ինչպես նաև ստեղծել օգնության հաղորդագրություններ և օգտագործման տողեր Ծրագրի համար: Այս հոդվածում մենք կհասկանանք, թե ինչպես է սահմանվում Docopt մոդուլը և ինչպես է այն օգտագործվում հրամանի տողի միջերես ստեղծելու համար:

Տեղադրում

Դուք կարող եք տեղադրել Docopt մոդուլը նախքան այն օգտագործելը Python-ի pip հրամանի օգնությամբ։ Docopt մոդուլը տեղադրելու համար մուտքագրեք հետևյալ հրամանը ձեր տերմինալում կամ հրամանի տողում:

pip install docopt

Ծրագրեր Docopt մոդուլից օգտվելու համար

Docopt մոդուլը տեղադրելուց հետո տեսնենք մի քանի օրինակ՝ տեսնելու, թե ինչպես օգտագործել Docopt մոդուլը Python-ում:

Օրինակ 1. Պարզ ծրագիր

Հետևյալ կոդում մենք կտրամադրենք ֆայլի անվան փաստարկը ծրագիրը գործարկելիս: Օրինակ, եթե ծրագրի ֆայլը simple_program.py է, և մենք ունենք test.txt ֆայլ նույն գրացուցակում, ապա արգումենտը պետք է լինի python simple_program.py թեստը: .txt.

""" Usage: simple_program.py <filename>

Print the contents of the file to the console.
"""

from docopt import docopt

def main():
   args = docopt(__doc__)
   filename = args['<filename>']
   with open(filename, 'r') as f:
      print(f.read())

if __name__ == '__main__':
   main()

Արդյունք

This is testing the docopt module.

Օրինակ 2. Ծրագիր ընտրանքներով

Այս օրինակում մենք կստեղծենք ծրագիր, որն ընդունում է ֆայլի անունը որպես արգումենտ և կամընտիր դրոշակ, որը սահմանում է՝ ցուցադրել տողերի համարները, թե ոչ: Մենք կսահմանենք հրամանի տողի ինտերֆեյսը Docopt-ի միջոցով: Հետևյալ օրինակում մենք կներկայացնենք ֆայլի անվան արգումենտը և –line-numbers դրոշը ծրագիրը գործարկելիս: Օրինակ, եթե ծրագրի ֆայլը simple_program.py է, և մենք ունենք test.txt ֆայլ նույն գրացուցակում, ապա արգումենտը պետք է լինի python simple_program.py թեստը: .txt –line-numbers.

"""Usage: program_with_options.py [--line-numbers] <filename>

Print the contents of the file to the console, with line numbers if specified.

Options:
  --line-numbers  Display line numbers.
"""

from docopt import docopt

def main():
   args = docopt(__doc__)
   filename = args['<filename>']
   with open(filename, 'r') as f:
      if args['--line-numbers']:
         for i, line in enumerate(f):
            print(f"{i+1}: {line}", end="")
      else:
         print(f.read())

if __name__ == '__main__':
    main()

Արդյունք

1: This is testing the docopt module.
2: This is line 2
3: This is line 3
4: This is line 4

Եզրակացություն

Այս հոդվածում մենք քննարկեցինք, թե ինչպես է docopt մոդուլը օգտագործվում հրամանի տողի միջերեսներ ստեղծելու համար և ինչպես կարող է օգտագործվել հրամանի տողի փաստարկներ և տարբերակներ ստեղծելու համար: Հրամանի տողի փաստարկների և տարբերակների սահմանման դեկլարատիվ մոտեցումը հեշտացնում է այն օգտագործելը և հասկանալը: Docopt-ի միջոցով դուք կարող եք արագ ստեղծել հրամանի տող ինտերֆեյսներ ձեր Python ծրագրերի համար՝ առանց անհանգստանալու փաստարկների վերլուծման մանրամասների և հաղորդագրությունների ստեղծման մասին: