【发布时间】:2009-12-06 19:42:21
【问题描述】:
我正在编写一个到目前为止看起来像这样的小型取证应用程序
import time, os,sys
def getter():
filename = sys.argv[1]
print "File Entered: " + filename
os.system('file ' + filename)
print "\n"
pipe = os.popen("xxd " + filename, "r")
print pipe.read()
我通过命令行输入一个文件,它打印出文件的类型,然后它应该在管道名称“pipe”下创建一个从终端返回到 python 应用程序的管道。然后我阅读了名为“管道”的管道
这适用于较小的文本文件,但即使我以超级用户身份运行此应用程序,它也不适用于块设备。最后,这将根据 xxd 的输出恢复文件。
任何提示,谢谢。
【问题讨论】:
-
popen已弃用。请改用subprocess模块。 -
Deprecated 意味着现在有更好的方法来执行相同的任务,并且在将来的某个时间点将从语言中删除不推荐使用的方法。
标签: python pipe subprocess