[python] os.system

Petr Prikryl Prikryl na skil.cz
Úterý Březen 8 09:33:29 CET 2005


Tomáš Babej napsal...
> 
> Nedá sa pomocou iných funkcii spustit 
> program cmd.exe a predat mu iste
> parametre tak aby bezal v nejakom 
> skrytom rezime aby je okno nebolo
> vidiet???

Okno se objeví, protože příkaz net vypisuje
na standardní výstup (stdout) hlášení, 
že se to povedlo. Problém se
dá vyřešit tak, že se standardní výstup 
přesměruje jinam. Zkus ve svém programu 
nahradit volání os.system(prikaz) 
voláním os.popen(prikaz) nebo přes některou
jeho variantu (popen2 až popen4). 

  "If cmd is a string it will be passed 
   to the shell (as with os.system())."

Pokud se reference na stdout a stderr 
nezahodí, můžeš si přes ně přečíst, co 
příkaz net vypsal a zařídit se podle toho.
Navenek nebude nic vidět.

Pokud chceš program spouštět například
prostřednictvím ikony z plochy, pak do 
jej v zástupci spouštěj přes pythonw.exe
místo přes python.exe. Tím se eliminuje
okno, které se objeví hned při spuštění 
programu.

Pomohlo to?

Petr

-- 
Petr Prikryl (prikrylp at skil dot cz) 



Další informace o konferenci Python