Python管道和命令行参数

2024-06-28 20:04:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python非常陌生,我的工作中有一个脚本需要弄清楚。在

我的脚本解析某个exe文件的输出(让我们称之为我的工作.exe)它处理另一个二进制文件(我们称之为processedBinary)。现在,我的scrpit需要取一个processedBinary的名称并对其进行objdump。我可以看到以前的作者(对我来说是无法接触的)使用了这一行系统argv[1] 获取processedBinary的名称。我的脚本处理我的工作.exe. 到目前为止,我成功调用脚本的唯一方法是运行:

在我的工作.exeprocessedBinary |/usr/bin/python/myScript.py-五

然后我的脚本正确地处理了输出,但是它根本没有获取processedBinary的名称(而是系统argv[1] 实际上是“-v”)。所以,我有几个问题:

1)有没有更好的方法来运行我的脚本,以便系统argv[1] 是processedBinary的名称吗? 2) 如果前一个问题的答案是否定的,有没有更好的方法来获取processedBinary的名称? 3) 您对脚本的实现/调用有什么更好的建议吗?在

提前谢谢你!在


Tags: 文件方法脚本名称usr系统二进制作者
1条回答
网友
1楼 · 发布于 2024-06-28 20:04:45

你可以打电话来我的工作.exe并将processedBinary的名称传递给该脚本。在

import subprocess
import sys
command = 'MyWork.exe %s' % (sys.argv[1])
proc = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
proc.wait()
output = (proc.stdout.read(), proc.stderr.read())

输出现在是stdout和stderr的元组我的工作.exe在

相关问题 更多 >