2009-11-28 11 views
11

Tôi đang sử dụng hàm os.path.split() trên đường dẫn trong chương trình để lấy tên tệp và tên đường dẫn của tệp rồi chuyển chúng sang phương thức khác, nhưng giải pháp hiện tại của tôi có vẻ khá xấu:Có thể giải nén một tuple mà không sử dụng các biến không?

path = os.path.split(somefile) 
some_class(path[0], path[1]) 

Có thể giải nén tuple đường dẫn một cách rõ ràng hơn trong cuộc gọi đến some_class không? Một cái gì đó như:

some_class(os.path.split(somefile).unpack()) 

Hoặc tôi chỉ đơn giản là đi về một cách khác? Có lẽ một cách nhiều hơn?

Trả lời

14

Có, Python có argument list unpacking. Hãy thử điều này:

some_class(*os.path.split(somefile)) 
+4

ghi chú có liên quan: double-asterisk đưa từ điển vào đối số từ khóa: 'f (** kwargs)' – u0b34a0f6ae