'的md5sum'和管道不能正常工作

时间:2014-12-20 15:49:14

标签: python pipe

嗨刚从书中复制了这行代码:“think python”(我将文件名从'book.tex'编辑为'words.txt'

import os
filename = 'words.txt'
cmd = ' md5sum ' + filename
fp = os.popen(cmd)
res = fp.read()
stat = fp.close()

在书中:

>>> print res
1e0033f0ed0656636de0d75144ba32e0 book.tex
>>> print stat
None

但对我来说:

>>> print res

>>> print stat
1

为什么会发生这种情况(为打印res打印一个balnk行,为打印stat打印1)

2 个答案:

答案 0 :(得分:0)

os.open已弃用(https://docs.python.org/2/library/os.html#os.popen)。建议您切换到子进程,即:

>>> import subprocess
>>> subprocess.check_output(['md5sum', 'words.txt'])
1e0033f0ed0656636de0d75144ba32e0 book.tex

答案 1 :(得分:0)

Windows没有md5sum命令。您可以从互联网上找到类似的实用程序。这样的事情可能会:http://www.pc-tools.net/win32/md5sums/