🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #27472

Re: słownik z optparse

#27472
From: Marcin
Date: Wed, 19 May 2010 16:51
37 lines
2028 bytes
Witam,

> witam,
> mam, jak się wydaje, trywialny problem, którego nie mogę jednak rozwiązać. Parsuję opcje linii poleceń za pomocą modułu optparse.
>
> Otrzymuję swoje opcje kodem:
> (opts, args) = parser.parse_args(sys.argv[1:])
>
> zwykle używam tego potem w naturalny sposób:
>
> if opts.moja_opcja: moje_funkcja(opts.moja_opcja)
>
> Tym razem jednak potrzebuję dostać słownik {opcja:wartosc,...} i nie mam
> pojęcia jak go otrzymać zarówno z klasy parsera jak i listy ocji opts.
>
> Metoda opts.__str__ drukuje coś jakby słownik, ale zamieniony na literalną
> reprezencję string słownika ( "{'opcja':'wartosc'}" ).
> Mogę wykroić oczywiście jakiś swój parser na tym stringu, ale przecież to mija
> się z celem. Wolałbym już parsować wiersz poleceń ręcznie.
>
> Czy naprawdę optparse nie ma wbudowanej metody na otrzymanie słownika z
> opcjami i ich wartościami?

Podejrzewam, że nie ma, bo nie ma takiej potrzeby. Obiekty klasy Value 
(w Twoim przypadku "opts") są de facto takimi słownikami, spróbuj tego:

opts.__dict__

Zajżyj do kodu modułu optparse ;)

Pozdr,
Marcin

> Z góry dziękuję za pomoc!
> skk.
>
>
Technical Details
Message-ID: <ht14uq$kl1$1@news.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mail
References: <ht125d$2r4$1@inews.gazeta.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mail
From: Marcin <marcino_l@o2.pl>
Newsgroups: pl.comp.lang.python
Subject: Re: słownik z optparse
Date: Wed, 19 May 2010 18:51:23 +0200
Organization: http://onet.pl
Lines: 38
Message-ID: <ht14uq$kl1$1@news.onet.pl>
References: <ht125d$2r4$1@inews.gazeta.pl>
NNTP-Posting-Host: host_137_149.compower.pl
Mime-Version: 1.0
X-Trace: news.onet.pl 1274287898 21153 89.200.149.137 (19 May 2010 16:51:38 GMT)
X-Complaints-To: niusy@onet.pl
NNTP-Posting-Date: Wed, 19 May 2010 16:51:38 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100411 Icedove/3.0.4
In-Reply-To: <ht125d$2r4$1@inews.gazeta.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit