ConfigParser Problem

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
schwedenmann
User
Beiträge: 42
Registriert: Sonntag 21. Oktober 2007, 13:38
Wohnort: Wegberg

Hallo

hab von hier
http://docs.python.org/library/configpa ... nfigParser

das Beispiel kopiert und bekomme anch der Ausführung immer Syntax Fehler line32

#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
import sys
import subprocess, popen2
import md5
import os.path
import distutils.util
import ConfigParser
import shutil
#
#
config = ConfigParser.RawConfigParser()

# When adding sections or items, add them in the reverse order of
# how you want them to be displayed in the actual file.
# In addition, please note that using RawConfigParser's and the raw
# mode of ConfigParser's respective set functions, you can assign
# non-string values to keys internally, but will receive an error
# when attempting to write to a file or when you get it in non-raw
# mode. SafeConfigParser does not allow such assignments to take place.
config.add_section('Section1')
config.set('Section1', 'int', '15')
config.set('Section1', 'bool', 'true')
config.set('Section1', 'float', '3.1415')
config.set('Section1', 'baz', 'fun')
config.set('Section1', 'bar', 'Python')
config.set('Section1', 'foo', '%(bar)s is %(baz)s!')

# Writing our configuration file to 'example.cfg'
with open('/extras/programmieren/example.cfg', 'wb') as configfile:
config.write(configfile)
Ich weiß nicht, wieso der Fehler kommt und das example.cfg nicht geschrieben wird, hab eine leere Datei example.cfg sogar schon im Verzeichnis angelegt und entsprechende Rechte vergeben.

mfg und und ein gutes neues jahr
schwedenmann
[/quote]
mfg
schwedenmann
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

Wenn du Python 2.5 benutzt, fehlt da ein __future__-Import (``from __future__ import with_statement``).
"Der Dumme erwartet viel. Der Denkende sagt wenig." ("Herr Keuner" -- Bertolt Brecht)
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

*sing* Where have all the code tags gone? *sing*
schwedenmann
User
Beiträge: 42
Registriert: Sonntag 21. Oktober 2007, 13:38
Wohnort: Wegberg

Hallo

beispiel klappt jetzt, Zusatzfrage, in der beschreigung zu configParser, steht, daß die Punkte innerhalb der Config, im Pythonscript in umgekehrter Reihenfolge geschrieben werden müssen.

Ich erhalte wenn ich das beispiel ausführe
[Section1]
bar = Python
int = 15
float = 3.1415
baz = fun
bool = true
foo = %(bar)s is %(baz)s!
laut Beispiel sollte aber das dabei rauskommen (Reihenfolge)
foo
bar
baz
float
bool
int

mfg
schwedenmann
mfg
schwedenmann
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

schwedenmann hat geschrieben: Zusatzfrage, in der beschreigung zu configParser, steht, daß die Punkte innerhalb der Config, im Pythonscript in umgekehrter Reihenfolge geschrieben werden müssen.
Wo steht denn das? Vielleicht kannste die Stelle mal verlinken?

Zusatzfrage: Was stört Dich daran?
schwedenmann
User
Beiträge: 42
Registriert: Sonntag 21. Oktober 2007, 13:38
Wohnort: Wegberg

Hallo
add them in the reverse order of
# how you want them to be displayed in the actual file.
So steht es im Kommentar zu dem Beispiel, das ich kpiert habe, steht übrigens in meinem oberen post im Quellcode.

Es stört nicht, nur ich frage mcih, warum dann in der Beschreibung etwas davon steht, die Reihenfolge im Code umzudrehen, damit bei der Ausgabe im Config-file die Reihenfolge xyz erscheinen soll.

mfg
schwedenmann
mfg
schwedenmann
Benutzeravatar
/me
User
Beiträge: 3556
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

schwedenmann hat geschrieben:
add them in the reverse order of
# how you want them to be displayed in the actual file.
So steht es im Kommentar zu dem Beispiel, das ich kpiert habe, steht übrigens in meinem oberen post im Quellcode.
Diese Aussage steht da tatsächlich und sie ist falsch.

Weiter oben auf der Seite steht nämlich "Sections are normally stored in a built-in dictionary." und damit ist die Reihenfolge schon nicht mehr garantiert.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

/me hat geschrieben: Weiter oben auf der Seite steht nämlich "Sections are normally stored in a built-in dictionary." und damit ist die Reihenfolge schon nicht mehr garantiert.
Das hatte mich auch irritiert. Da die Aussage aber auch "nur" im Kommentar in den Code-Snippets steht, scheint sie deprecated zu sein nehme ich mal an.
Antworten