Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: [python] schrijven naar bestandje in /etc/  (gelezen 2361 keer)

Offline leendert

  • Lid
    • Dutchgimpers.nl
[python] schrijven naar bestandje in /etc/
« Gepost op: 2008/12/24, 20:56:49 »
Als ik in een Python programmaatje wilt laten schrijven naar een bestandje die in /etc/ staat, moet dan het programmaatje perse als root uitgevoerd worden? Of is er nog een andere mogelijkheid, dat je de gebruiker dan op dat moment toestemming vraagt bijvoorbeeld?

Sorry maar ik heb vooral ervaring met programmeren op Windows. (Daar kan je naar believen overal bestandjes dumpen :p )

En nog een vraagje ik werk met wxwidgets en python. Nu heb ik een multiline TextCtrl en nu wil ik elke rij die de gebruiker daarin invult apart verwerken. Ik krijg dus in een variabele zoiets: ditisregel1\nditisrgel2\nditisregel2
Ik moet dus een loop maken die elke keer de volgende regel pakt. Weet iemand hoe ik dit eenvoudig kan doen met python?
« Laatst bewerkt op: 2008/12/24, 22:42:17 door leendert »

Offline dvdmeer

  • Lid
    • Python-RandR :: dvdmeer.nl
Re: [python] schrijven naar bestandje in /etc/
« Reactie #1 Gepost op: 2008/12/25, 15:19:06 »
Als je naar Systeem - Gebruikers en groepen gaat zie je daar een knopje "Ontgrendelen". Denk dat je beetje in die richting moet kijken. Maar hoe dat precies in zijn werk gaat weet ik niet en ben ik zelf ook wel benieuwd naar.

Re: [python] schrijven naar bestandje in /etc/
« Reactie #2 Gepost op: 2008/12/25, 15:20:09 »
Ik denk dat ge richting Policy Kit moet gaan kijken dan.

Offline profoX

  • Lid
    • wesley
    • Lionslink
Re: [python] schrijven naar bestandje in /etc/
« Reactie #3 Gepost op: 2008/12/25, 16:11:53 »
En nog een vraagje ik werk met wxwidgets en python. Nu heb ik een multiline TextCtrl en nu wil ik elke rij die de gebruiker daarin invult apart verwerken. Ik krijg dus in een variabele zoiets: ditisregel1\nditisrgel2\nditisregel2
Ik moet dus een loop maken die elke keer de volgende regel pakt. Weet iemand hoe ik dit eenvoudig kan doen met python?
Heeft wxWidgets daar zelf geen mogelijkheden voor? (zou kunnen hoor, wxWidgets is vooral bedoeld als simpele toolkit)
In dat geval zou je de regels in een nieuwe (tijdelijke) array kunnen steken via split en daarna de regels verwerken met een for,
bv.
for regel in stringvariabele.split("\n"):
    print regel
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)

Offline profoX

  • Lid
    • wesley
    • Lionslink
Re: [python] schrijven naar bestandje in /etc/
« Reactie #4 Gepost op: 2008/12/25, 16:13:37 »
Voor simpele dingen (zonder PolicyKit) kan je eventueel ook gksu / kdesu gebruiken, maar PolicyKit is wellicht beter (maar wel moeilijker te implementeren gok ik)
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)

Offline leendert

  • Lid
    • Dutchgimpers.nl
Re: [python] schrijven naar bestandje in /etc/
« Reactie #5 Gepost op: 2008/12/29, 11:50:34 »
In dat geval zou je de regels in een nieuwe (tijdelijke) array kunnen steken via split en daarna de regels verwerken met een for,
bv.
for regel in stringvariabele.split("\n"):
    print regel

Ja natuurlijk zo kan het ook, bedankt!

Naar die policy's moet ik nog gaan kijken, maar bedankt voor de tips!

Re: [python] schrijven naar bestandje in /etc/
« Reactie #6 Gepost op: 2008/12/29, 18:24:44 »
Ik vraag me af, waarom wil je zo nodig een bestand in /etc zetten?
Configuratiebestanden zijn toch meestal voor één gebruiker specifiek, dus je kan ze beter in $HOME/.mijnprogramma zetten. Of als je vooruit wilt lopen: $HOME/Library/Preferences/MijnProgramma (ben je direct compatibel met Mac OS X en LibSylph :P)

- SeySayux
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Offline profoX

  • Lid
    • wesley
    • Lionslink
Re: [python] schrijven naar bestandje in /etc/
« Reactie #7 Gepost op: 2008/12/29, 18:56:34 »
...en incompatibel met al de rest :P...
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)

Re: [python] schrijven naar bestandje in /etc/
« Reactie #8 Gepost op: 2008/12/29, 19:12:47 »
...en incompatibel met al de rest :P...
Kunnen we wel spreken over compatibiliteit hier? Het maakt toch geen barst uit waar je nu je config file zet, want jouw programma is (normaal gesproken) toch het enige dat het moet lezen, toch?
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Offline profoX

  • Lid
    • wesley
    • Lionslink
Re: [python] schrijven naar bestandje in /etc/
« Reactie #9 Gepost op: 2008/12/29, 19:34:11 »
mjah, als je graag ongestructureerd bent, dan mag je dat eender waar plaatsen inderdaad :)
maar hey, jij begon over compatibiliteit :P
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)

Re: [python] schrijven naar bestandje in /etc/
« Reactie #10 Gepost op: 2009/01/06, 13:34:45 »
Als je compatibel wilt zijn in de Linux wereld qua bestandslocaties moet je kijken op
http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6.html

Configuratiebestanden dan dus onder ~/.config/
Databestanden onder ~/.local/share/
Tijdelijke bestanden onder ~/.cache/
waarbij ~ je Home directory is (dus /home/jasper/ in mijn geval)

en wat ik net ontdek is dat je standaard ook een python module hebt in Ubuntu die dit implementeert:

import xdg
print xdg.BaseDirectory.xdg_config_home

« Laatst bewerkt op: 2009/01/06, 13:43:30 door Jasper Groenewegen »