将Python系统调用作为字符串结果

Fil*_*erg 6 python

我想使用os.system("md5sum myFile")并从os.system返回结果,而不是在子回显中运行它.

总之,我想这样做:

resultMD5 = os.system("md5sum myFile")
Run Code Online (Sandbox Code Playgroud)

并且只有resultMD5中的md5sum而没有回显.

Dou*_*der 11

subprocess比使用os.system或更好os.popen

import subprocess
resultMD5 = subprocess.Popen(["md5sum","myFile"],stdout=subprocess.PIPE).communicate()[0]
Run Code Online (Sandbox Code Playgroud)

或者只是用hashlib模块自己计算md5sum .

import hashlib
resultMD5 = hashlib.md5(open("myFile").read()).hexdigest()
Run Code Online (Sandbox Code Playgroud)