Если вы ознакомитесь с разделом подпроцесса документации по Python , вы заметите, что есть пример того, как заменить os.system()
на subprocess.Popen()
:
sts = os.system("mycmd" + " myarg")
... делает то же самое, что и ...
sts = Popen("mycmd" + " myarg", shell=True).wait()
"Улучшенный" код выглядит более сложным, но лучше, потому что как только вы знаете subprocess.Popen()
, вам больше ничего не нужно.subprocess.Popen()
заменяет несколько других инструментов (os.system()
- только один из них), которые были разбросаны по трем другим модулям Python.
Если это поможет, представьте subprocess.Popen()
как очень гибкий os.system()
.