Nieuws:

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

Auteur Topic: in python werken met meerdere brackets hoe doe je dat?  (gelezen 840 keer)

Offline daniel

  • Lid
  • Steunpunt: Ja
in python werken met meerdere brackets hoe doe je dat?
« Gepost op: 2015/03/04, 18:36:15 »
Hoe krijg ik deze regel                                            user_pref("gfx.xrender.enabled",false);
in een python 3 script onder                 /$HOME/.mozilla/firefox/*.default/prefs.js
de code wil maar niet lukken:

import os as py
py.system("sudo echo 'user_pref("gfx.xrender.enabled",false); ' >> /$HOME/.mozilla/firefox/*.default/prefs.js")

wie weet hier een oplossing voor of een andere command?
« Laatst bewerkt op: 2015/03/04, 19:35:06 door daniel »

Offline daniel

  • Lid
  • Steunpunt: Ja
Re: python3 regel toevoegen aan bestaand bestand
« Reactie #1 Gepost op: 2015/03/04, 18:48:09 »
gewoon via de terminal venster werkt de volgende code wel::

sudo echo 'user_pref("gfx.xrender.enabled",false); ' >> /$HOME/.mozilla/firefox/*.default/prefs.js

waarom niet via os.system(" de bovenstaande code ")   

wat doe ik fout?
Hoe bewerk ik dit in python3
« Laatst bewerkt op: 2015/03/04, 19:31:58 door daniel »

Offline redmar

  • Vertaalteam
  • Steunpunt: Nee
Re: in python werken met meerdere brackets hoe doe je dat?
« Reactie #2 Gepost op: 2015/03/04, 20:41:35 »
Waarom gebruik je niet gewoon de write() functie om naar een bestand te schrijven, en waarom gebruik je sudo om iets in een gebruikersmap aan te passen?

Offline daniel

  • Lid
  • Steunpunt: Ja
Re: in python werken met meerdere brackets hoe doe je dat?
« Reactie #3 Gepost op: 2015/03/04, 21:01:19 »
Ik zal de write() functie gaan uitzoeken hoe die werkt want ik ben hier niet bekend mee.
Ik kom hier op terug... thnx

Offline daniel

  • Lid
  • Steunpunt: Ja
Re: in python werken met meerdere brackets hoe doe je dat?
« Reactie #4 Gepost op: 2015/03/04, 21:56:52 »
dit werkt voor mij:
with open('prefs.js', 'a') as firefox:
    firefox.writelines('user_pref("gfx.xrender.enabled",false); ')
maar ik weet niet hoe ik hem in de goede path krijg.

/$HOME/.mozilla/firefox/*.default/

misschien weet je dat ook.

Offline MKe

  • Lid
  • Steunpunt: Nee
Re: in python werken met meerdere brackets hoe doe je dat?
« Reactie #5 Gepost op: 2015/03/06, 09:09:47 »
Natuurlijk is een puur python oplossing beter, maar om op je vraag terug te komen, je kunt aanhalingstekens 'escapen':

Je code wordt dan:
import os as py
py.system("sudo echo 'user_pref(\"gfx.xrender.enabled\",false); ' >> /$HOME/.mozilla/firefox/*.default/prefs.js")

Wil je echt binnen python blijven, wat verstandig is, moet je glob gebruiken: https://docs.python.org/2/library/glob.html. Daarmee kun je werken met wildcards als *.

Offline daniel

  • Lid
  • Steunpunt: Ja
Re: in python werken met meerdere brackets hoe doe je dat?
« Reactie #6 Gepost op: 2015/03/07, 09:46:09 »
dankjewel mke en redmar, ik heb nu een beter inzicht gekregen hierin en ook weet ik nu hoe meerdere brackets werken..

toppie  ;)