Jump to content
teckV

[Python] Executar Comandos de sistema em Python

Recommended Posts

teckV

aqui está um pequeno prog em python que uso para actualizar automaticamente o windows...  usam-se comandos de sistema como listdir da biblioteca os. Em seguida executa-se o file enviando comandos para o os.system(comando) onde comando é neste caso o nome dos ficheiros encontrados na pasta pretendida.

Ao nome do file acrescenta-se " /Z /M /U" para serem enviandos como argumentos para o executavel update. servem para correr a instalação em silent e sem reiniciar.

note-se também a passagem de argumentos para o prog em python õs quais são lidos pelo mesmo através de sys.argv|x| onde x é a possição do argumento EX: updatesys.py 3 onde 3 é o argumento passado para o prog.

editem um file num qualquer editor de texto e guardem com a extensão .py EX: updatesys.py

para executar o prog introduzam na linha de comandos do dos

c:\updatesys.py

import ossys

currpath = os.getcwd()   

updtdir = sys.argv[1]

if updtdir == '3':
    updtdir = currpath + '\\'
elif updtdir == '1':
    updtdir = 'F:\Armazem\updates_patches\msxp\patches\\'
elif updtdir == '2':
    updtdir = 'F:\Armazem\updates_patches\ms2003server\updates\\'

filesin = os.listdir(updtdir)

count = 1
for i in filesin:
    comando = updtdir + i + " /Z /M /U"
    os.system(comando)
    count = count + 1

print 'FIM'

o cilco for percorre todos os objectos (files) na variavel filesin que é retornada pela função os.listdir(directório). quando não houver mais files termina.

bons desenvolvimentos

teckV

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.