2011-10-21 50 views
5

Làm thế nào để bạn chấp nhận/phân tích đối số dòng lệnh cho tệp py không có lớp? Dưới đây là những gì tôi có bên trong tệp của mình test.py:Python, phân tích đối số dòng lệnh

import sys 

if __name__ == '__main__': 

Làm cách nào để nhận được đối số khi tệp được thực thi qua dòng lệnh? Tôi gọi nó qua:

python test.py <arg1> 

và rõ ràng là muốn giá trị "arg1".

+0

Tôi đã làm và không thể tìm thấy nhiều hơn thư viện mà tôi không muốn nhập. – CODe

+0

Khi bạn tìm kiếm 'argv python'. liên kết đầu tiên trên Google là câu trả lời của bạn –

+5

@EknathIyer Đó là tất cả tốt và tốt, nhưng những gì nếu bạn không biết đến google cho 'argv'? Điều này là hoàn toàn thích hợp. –

Trả lời

9

Không xa hơn sys.argv, là danh sách chứa tất cả các đối số được chuyển đến chương trình.

+0

Cảm ơn bạn, tôi đã nghĩ rằng nó là một cái gì đó dễ dàng như thế này. Đối với một số lý do tôi không thể tìm kiếm google để cung cấp cho tôi điều này. – CODe

+0

Ghi nhớ "argv". Đó là máy tính tiêu chuẩn nói cho các đối số được truyền cho bất kỳ chương trình nào. Trong lịch sử nó là viết tắt của "vector đối số", một vectơ hầu như tương đương với những gì Python gọi là một 'danh sách'. – jathanism

5
try: 
    arg = sys.argv[1] 
except IndexError: 
    print "No argument specified." 
    sys.exit(1) 
Các vấn đề liên quan