2013-01-15 16 views
10

Głupie pytanie z (na pewno) prostą odpowiedzią ...Configparser i ciąg znaków z%

Używam configparser do odczytu niektórych ciągów z pliku. Kiedy łańcuch ma symbol '%' ($% & na przykład) narzeka:

ConfigParser.InterpolationSyntaxError: '%' muszą być przestrzegane przez '%' lub '(', stwierdzono: "% &„"

Każdy obeznany z tym?

Dzięki!

+10

myślę wystarczy '' %% aby uciec – dm03514

Odpowiedz

21

Jeśli nie chcesz zmienną środowiskową podstawienie, a następnie użyć RawConfigParser, nie ConfigParser.

+0

Dziękujemy! Działa jak marzenie! –

+1

Dzieje się tak, ponieważ domyślnie 'ConfigParser' ma interpolację, co oznacza, że ​​możesz odwoływać się do innych części pliku jako'% (foo) '. – katrielalex

+1

Możesz dodać swoje miłosne komentarze do http://bugs.python.org/issue26872, która zajmuje się zmianą zachowania między python 2 i 3, co oczywiście nie było potrzebne. – sorin

12

zapis dwa%:

V = ('%%', 'MHz', 'GHz') 

wynik:

('%', 'MHz', 'GHz') 
+0

Pomaga, kiedy chciałem użyć w cyrku –

Powiązane problemy