PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Python: Config-Datei bearbeiten



delmonico
29-02-2004, 22:06
Hi!

Will mich mal nebenbei in Python einarbeiten. Als Test-Projekt will ich die preferences-Datei von icewm einlesen und halt bearbeiten können.

So siehts bislang aus:


#!/usr/bin/env python
import re
pref=open("/home/delmonico/.icewm/preferences")

RE_ShowTaskBar=re.compile("Show TaskBar")
while pref.readline():
match = RE_ShowTaskBar.search("???")
if match:
print "test"

2 Probleme: Beim open funktioniert irgendwie ~/.icewm nicht?
Das größere: Da wo die Fragezeichen stehen, sollte ja die per readline eingelesene Zeile stehen. in der 6. Zeile kann ich aber die Zeile keiner Variablen zuweisen ("while line=pref.readlin():" gibt nen Fehler.)

Wie bekomm ich das hin?

mfg, del

fs111
01-03-2004, 09:27
1. das mit dem "~" kann nicht funktionieren, weil das eine Variable ist, die von der Shell (z.B. bash) aufgelöst wird, deswegen musst Du entweder den ganzen Namen benutzen, oder aber "user" importieren, und dann user.home benutzen.

Also etwa so:



import user
f = open(user.home+'/.foo/bar')


2. Python ist da etwas netter zu Handhaben. Da das Filehandle ein Generatorobjekt in sich birgt, kannst Du einfach so arbeiten:



f = open('.foo/bar')
for line in f:
print line


HTH

fs111

delmonico
01-03-2004, 14:03
danke :)