【发布时间】:2016-08-03 19:07:08
【问题描述】:
我正在尝试编写一个简单的脚本,该脚本获取我在 linux 上的文本文件中创建的单词列表,并通过一个程序运行它,该程序根据隐写术提取器检查单词。
程序(steghide)在命令中使用以下语法:
steghide --extract -p {这里的密码} -sf {这里的文件名}
我已经能够调用该文件并为列表中的单词设置一个 for 循环,但找不到将迭代中的单词输入到每个命令中的方法。
这是我一直在尝试的工作方式。
import os
import sys
script, filename = argv
filename2 = sys.open(filename)
for word in filename2:
os.system('steghide --extract -p [want to put something here] -sf stegfilename')
我在一个受控的盒子里,除了我已经拥有的东西之外,我无法下载任何东西。任何帮助表示赞赏。
更新:
我让它工作了。但现在我正试图让它在找到正确答案时退出。我只是很难让 Python 读取输出。这是我目前所拥有的。
`导入子进程 从系统导入 argv
脚本,文件名 = argv 通过 = 文件名
打开(通过)为 f: 对于 f 中的行: proc = subprocess.popen(['steghide', '--extract', '-p' line.strip(), '-sf', 'stegged 文件名'],stdout = subprocess.PIPE) 标准输出 = proc.communicate()[0] 输出 = proc.stdout.readline()
if 'wrote' in output:
print 'YOU FOUND IT!'
break
else:
print line`
【问题讨论】: