[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