Próbuję uczynić mój skrypt Pythona bardzo przyjaznym dla użytkownika, więc lubię pisać dla niego jakąś pomoc. Jaka jest twoja rada dla tego? Mogę po prostu wprowadzić pewną logikę, że jeśli użytkownik przekazał pomoc jako parametr do skryptu, otrzymają pomoc. Czy istnieje w tym celu najlepsza praktyka lub konwencja?Pisanie pomocy dla skryptu Pythona
15
A
Odpowiedz
26
Użyj argparse.
Na przykład, z test.py:
import argparse
parser=argparse.ArgumentParser(
description='''My Description. And what a lovely description it is. ''',
epilog="""All's well that ends well.""")
parser.add_argument('--foo', type=int, default=42, help='FOO!')
parser.add_argument('bar', nargs='*', default=[1, 2, 3], help='BAR!')
args=parser.parse_args()
Running
% test.py -h
daje
usage: test.py [-h] [--foo FOO] [bar [bar ...]]
My Description. And what a lovely description it is.
positional arguments:
bar BAR!
optional arguments:
-h, --help show this help message and exit
--foo FOO FOO!
All's well that ends well.
6
Najlepszą praktyką jest stosowanie argparse
obsłużyć wszystkie argumenty wiersza poleceń. Zawiera domyślny --help
, który można dostosować do własnych upodobań.
Oto najprostszy przykład:
import argparse
parser = argparse.ArgumentParser(description='This is my help')
args = parser.parse_args()
co skutkuje:
% python argparse_test.py -h
usage: argparse_test.py [-h]
This is my help
optional arguments:
-h, --help show this help message and exit
Można zdefiniować wszystkie swoje argumenty argparse i ustawić komunikat pomocy dla każdego z nich. Wynikowe przefiltrowane/sprawdzone argumenty są zwracane przez parser.parse_args()
.
Powiązane problemy
- 1. Pisanie asemblera, potrzebuję pomocy
- 2. Pisanie podstawowego skryptu PostScript ręcznie
- 3. Czy można skanować Wi-Fi przy pomocy Pythona?
- 4. Pisanie kodu Pythona na Androida
- 5. Tworzenie pliku BAT dla skryptu Pythona
- 6. Demon kontra Upstart dla skryptu Pythona
- 7. setuid/setgid wrapper dla skryptu Pythona
- 8. Powłoki start/stop dla skryptu Pythona
- 9. delegowania do skryptu Pythona
- 10. Pisanie kropli z SQLite do pliku przy użyciu Pythona
- 11. Pisanie skryptu do zamknięcia sesji ekranowej
- 12. Pisanie modułu dla Pythona 2.x i 3.x
- 13. Pisanie powiązań Pythona dla kodu C++, które używają OpenCV
- 14. Pisanie dokument LaTeX z kodem Pythona fragmenty
- 15. Pisanie listy Pythona do pojedynczej kolumny CSV
- 16. Pisanie listów Pythona do kolumn w CSV
- 17. Pisanie funkcji dla UIAlertView?
- 18. Jak uchwycić Wyprowadzenie Curl ze skryptu Pythona
- 19. Uruchamianie skryptu Pythona w skrypcie - Sprawdzić stan
- 20. Pisanie skryptu znajdowania/zamiany bazy danych MySQL w PHP
- 21. pisanie skojarzeń dla rekurencyjnej relacji
- 22. pisanie DSL dla platformy .Net
- 23. Pisanie wbudowanej aplikacji dla msp430?
- 24. Pisanie Maven Zależność dla javax.persistence
- 25. Pisanie reguł niestandardowych dla cppcheck
- 26. Uruchamianie skryptu Pythona jako innego użytkownika
- 27. Korzystanie z easy_install wewnątrz skryptu Pythona?
- 28. Wywołanie funkcji Pythona ze skryptu powłoki
- 29. Uruchamianie skryptu Pythona jako usługi systemu Windows
- 30. Jak uruchamiać polecenia SVN ze skryptu Pythona?