Thread View: pl.comp.lang.python
3 messages
3 total messages
Started by pythonlogist
Wed, 19 May 2010 16:03
słownik z optparse
Author: pythonlogist
Date: Wed, 19 May 2010 16:03
Date: Wed, 19 May 2010 16:03
27 lines
1729 bytes
1729 bytes
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?
Z góry dziękuję za pomoc!
skk.
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Re: słownik z optparse
Author: Marcin
Date: Wed, 19 May 2010 16:51
Date: Wed, 19 May 2010 16:51
37 lines
2028 bytes
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.
>
>
Re: słownik z optparse
Author: pythonlogist.WYTNIJ
Date: Wed, 19 May 2010 20:23
Date: Wed, 19 May 2010 20:23
22 lines
1442 bytes
1442 bytes
> 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 Ano właśnie, o to mi chodziło, podejrzewałem, że tak naprawdę jest to słownik, tyle tylko, że zazwyczaj, jeśli ktoś używa obiektu słownika do stworzenia swojego kontenera, metoda dict(), zamienia go ponownie w zwykły słownik. W tym przypadku, ta droga nie dawała rezultatu. Dziękuję! skk. -- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads