Nieuws:

We zijn er weer.

Na lange tijd van afwezigheid zijn we er weer  :laugh:
We hebben alle wachtwoorden gereset, je oude wachtwoord werkt niet meer.Je moet via het "wachtwoord vergeten"-linkje je wachtwoord resetten. Je krijgt hiervoor een mailtje op het adres dat je bij ons geregistreerd hebt.

De komende tijd zijn we nog druk bezig om de rest van de site op te bouwen, dus het kan zijn dat sommige onderdelen (tijdelijk) niet werken.

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

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

Offline leendert

  • Lid
    • Dutchgimpers.nl
  • Steunpunt: Nee
[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
  • Steunpunt: Nee
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.

Offline Nunslaughter

  • Lid
    • timovwb
  • Steunpunt: Nee
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
  • Steunpunt: Nee
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
  • Steunpunt: Nee
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
  • Steunpunt: Nee
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!

Offline SeySayux

  • Lid
    • SeySayux.net
  • Steunpunt: Nee
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
  • Steunpunt: Nee
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)

Offline SeySayux

  • Lid
    • SeySayux.net
  • Steunpunt: Nee
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
  • Steunpunt: Nee
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)

Offline Jasper Groenewegen

  • Lid
  • Steunpunt: Nee
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 »