Sida 1 av 1

[LÖST] Kombinera kommando och variabel i Python.

Postat: 14 apr 2009, 19:49
av HOLMEN
Halloj,

Håller på och mekar som fan med mitt allra första "riktiga" program, SixA.

Jag behöver dock lite hjälp: Hur kominerar man ett kommando med en variabel och sedan kör det som ett kommando?

Det jag vill åstakomma är tex att jag vill köra ett kommando som detta:

Kod: Markera allt

sixa action profile firefox
I koden så blir det:

Kod: Markera allt

sixa action profile $variabeln
Detta är koden där profilen hämtas, sparas i en variabel och som sedan ska köras:

Kod: Markera allt

	# Choose profiles
	def on_profile_switch_changed(self, box):
		model = box.get_model()
		index = box.get_active()
		if index:
			profile = model[index][0] 
			os.system("sixa action profile $variabeln")
			prf = pynotify.Notification ("SixA", "Profile changed to $variabeln", "sixa")
			prf.show ()
Någon som vet hur man alltså kan sätta in en variabel i ett kommndo och köra det med Python?

Re: Kombinera kommando och variabel i Python.

Postat: 14 apr 2009, 19:59
av Lars
Du vill alltså bara foga in värdet av variabeln i en sträng? Det är ju trivialt ;)

Kod: Markera allt

os.system("sixa action profile %s" % variabeln)
Men du måste vara lite försiktig, det är inte så lyckat om variabeln har värdet "; rm -rf ~" eller liknande.

Re: Kombinera kommando och variabel i Python.

Postat: 14 apr 2009, 20:05
av HOLMEN
Det funkar!!! TACK! Jag har haft panik angående detta då vi har en deadline att SixA ska vara klart under morgondagen. Så här blev resultatet:

Kod: Markera allt

	def on_profile_switch_changed(self, box):
		model = box.get_model()
		index = box.get_active()
		if index:
			profile = model[index][0] 
			os.system("sixa action profile %s" % profile)
			prf = pynotify.Notification ("SixA", "Profile changed to %s" % profile, "sixa")
			prf.show ()
Alltså, verkligen - Tack Lars!