2012-10-31 34 views
5

Có cách nào tôi có thể nói argparse không ăn dấu ngoặc kép?Đối số argparse Python với dấu ngoặc kép

Ví dụ: Khi tôi đưa ra một đối số bằng dấu ngoặc kép, argparse chỉ nhận những gì bên trong dấu ngoặc kép làm đối số. Tôi muốn nắm bắt những dấu ngoặc kép cũng như (mà không cần phải thoát khỏi chúng trên dòng lệnh.)

pbsnodes -x | xmlparse -t "interactive-00" 

sản xuất

interactive-00 

Tôi muốn

"interactive-00" 

Trả lời

9

tôi nghĩ rằng nó là vỏ mà ăn chúng, vì vậy python sẽ thực sự không bao giờ nhìn thấy chúng. Thoát chúng trên dòng lệnh có thể là lựa chọn duy nhất của bạn.

Nếu đó là \"backslash\" phong cách thoát bạn không thích đối với một số lý do, sau đó theo cách này nên làm việc thay vì:

pbsnodes -x | xmlparse -t '"interactive-00"' 
+2

Đây chính là trường hợp. Shell thấy các dấu ngoặc kép là "lấy bất cứ cái gì ở đây ngay cả khi nó chứa dấu cách." Và nó làm như vậy. Đó là những gì trích dẫn là * cho * trong vỏ. – kindall

+0

Rất tiếc. Được rồi cảm ơn. – denvaar

Các vấn đề liên quan