簡體   English   中英

Python管道和命令行參數

[英]Python pipe and command line arguments

我是python的新手,我需要弄清楚自己的腳本。

我的腳本解析了一些exe文件(稱為Mywork.exe)的輸出,該文件處理了另一個二進制文件(稱為加工的Binaryary)。 現在,我的scrpit想要在某個時候取一個processedBinary的名稱並對其進行objdump。 我可以看到以前的作者(對我來說不方便)使用了sys.argv [1]這一行來獲取名稱加工的二進制文件。 我的腳本處理MyWork.exe的輸出。 到目前為止,成功調用腳本的唯一方法是運行:

MyWork.exe已處理 / usr / bin / python ./myScript.py -v

然后,我的腳本可以正確處理輸出,但是它根本不獲取namedBinary的名稱(而sys.argv [1]實際上是“ -v”)。 因此,我有幾個問題:

1)是否有更好的方式運行腳本,以便sys.argv [1]是ProcessedBinary的名稱? 2)如果上一個問題的答案是否定的,是否有辦法以更好的方式獲取processingBinary的名稱? 3)也許您對腳本的實現/調用有更好的建議?

先感謝您!

您可以從Python腳本調用MyWork.exe,然后將namedBinary的名稱傳遞給該腳本。

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())

輸出現在是MyWork.exe的stdout和stderr的元組

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM