Tôi đang cố gắng làm cho tập lệnh python của tôi rất thân thiện với người dùng, vì vậy tôi muốn viết một số loại trợ giúp cho nó. Lời khuyên của bạn cho điều này là gì? Tôi chỉ có thể đưa vào một số logic rằng nếu người dùng thông qua sự giúp đỡ như là một paramater cho kịch bản, họ nhận được sự giúp đỡ. Có một thực hành hay quy ước tốt nhất cho điều này?Viết trợ giúp cho tập lệnh python
15
A
Trả lời
26
Sử dụng argparse.
Ví dụ, với 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()
Chạy
% test.py -h
mang
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
Thực hành tốt nhất là sử dụng argparse
để xử lý tất cả các đối số dòng lệnh của bạn. Nó bao gồm một mặc định --help
mà bạn có thể tùy chỉnh theo ý thích của bạn.
Dưới đây là ví dụ đơn giản:
import argparse
parser = argparse.ArgumentParser(description='This is my help')
args = parser.parse_args()
mà kết quả trong:
% python argparse_test.py -h
usage: argparse_test.py [-h]
This is my help
optional arguments:
-h, --help show this help message and exit
Bạn có thể xác định tất cả các đối của bạn với argparse và thiết lập thông báo trợ giúp cho mỗi một trong số họ. Các đối số đã lọc/được xác thực được trả về bởi parser.parse_args()
.
Các vấn đề liên quan
- 1. Python subprocess Trợ giúp
- 2. Tạo trình trợ giúp giao thức đa nền tảng chạy tập lệnh python
- 3. Rails xem người trợ giúp trong tập tin trợ giúp
- 4. Cách viết trợ giúp Powershell cho các lệnh ghép ngắn của tôi
- 5. python "trợ giúp" chức năng: in docstrings
- 6. Làm thế nào để viết nội dung trợ giúp cho một tệp từ bên trong R?
- 7. Trợ giúp Matlab, lệnh doc rất chậm
- 8. Trợ giúp với câu lệnh SQL (JOIN)
- 9. Trợ giúp nhanh cho Python trong Emacs autocomplete.el?
- 10. Cần trợ giúp với câu lệnh Merge
- 11. Cách thoát khi xem trợ giúp python như trợ giúp (os.listdir)
- 12. Daemon vs Upstart cho tập lệnh python
- 13. Yii đọc và viết tệp trợ giúp cơ bản
- 14. Cần trợ giúp để viết truy vấn tìm kiếm
- 15. Trợ giúp bằng cách viết truy vấn SQL cho Bộ lồng nhau
- 16. shell start/stop cho tập lệnh python
- 17. Tạo tệp BAT cho tập lệnh python
- 18. Cần trợ giúp viết một proxy bị xoắn
- 19. cần trợ giúp chuyển lệnh sed từ debian sang OSX
- 20. Đang tải tập lệnh hỗ trợ cho Resharpers QUnit testrunner
- 21. Trợ giúp thiết lập php cho Eclipse
- 22. Trình trợ giúp "if statement" có điều kiện cho Handlebars.js
- 23. Viết thông số cho người trợ giúp với Ruby on Rails và RSpec
- 24. Trợ giúp Viết (các) Chương trình TSR trong Hội đồng NASM cho DOS
- 25. Trợ giúp với Dispatcher.BeginInvoke
- 26. Tùy chọn dòng lệnh cho tập lệnh * * * * *?
- 27. Cần trợ giúp xây dựng Trình trợ giúp Html tùy chỉnh cho Asp.net MVC
- 28. Trợ giúp với bài tập C++ bán phức tạp
- 29. Cách tìm kiếm trợ giúp bằng bàn điều khiển python
- 30. Trợ giúp Bộ sưu tập Linqifying từ điển