2009-04-24 23 views

Respuesta

11

subprocess es mejor que usar os.system o os.popen

import subprocess 
resultMD5 = subprocess.Popen(["md5sum","myFile"],stdout=subprocess.PIPE).communicate()[0] 

O simplemente calcular la suma md5 mismo con el módulo hashlib.

import hashlib 
resultMD5 = hashlib.md5(open("myFile").read()).hexdigest() 
+1

+1 a hashlib, la mejor manera de hacerlo, no depende de un ejecutable externo. – nosklo

0

Probablemente debería utilizar el módulo de subproceso como reemplazo del sistema os.system.

+0

Podría evaluar por favor? –

+0

@Filip Ekberg: lo que Douglas Leeder dijo :-) – hyperboreean

0
import subprocess 

p = subprocess.Popen("md5sum gmail.csv", shell=True, stdout=subprocess.PIPE) 
resultMD5, filename = p.communicate()[0].split() 
print resultMD5 
+0

sin necesidad de pasar por el shell para ejecutar md5sum. No use shell = True – nosklo

Cuestiones relacionadas