请写一个python调用外部工具的程序,第一个参数为工具路径,第二个参数为工具的输入参数,第三个参数为工具的输出参数
时间: 2024-09-12 08:17:12 浏览: 32
python带参数打包exe及调用方式
在Python中,你可以使用`subprocess`模块来调用外部命令行工具。这里是一个简单的例子,展示如何调用一个工具并指定参数:
```python
import subprocess
def run_external_tool(tool_path, input_params, output_param):
try:
# 创建命令列表,包括工具路径、输入参数和可能的输出重定向
command = [tool_path]
command.extend(input_params)
# 如果有特定的输出文件名,添加重定向到该文件
if output_param:
command.append('>') # Windows
command.append(output_param) # Unix and macOS
command.append('2>&1') # Redirect error stream too
# 使用subprocess.run()执行命令,并捕获输出
process = subprocess.run(command, capture_output=True, text=True, check=True)
output = process.stdout # 这里保存了标准输出
return output
except Exception as e:
print(f"Error executing the tool: {e}")
return None
# 调用示例
tool_path = '/usr/local/bin/my_tool'
input_params = ['arg1', 'arg2']
output_file = 'output.txt'
result = run_external_tool(tool_path, input_params, output_file)
if result is not None:
print("Tool output:")
print(result)
```
在这个例子中,我们假设工具的输入参数是通过字符串列表传递的,而输出则可能是直接返回的文本或者写入到指定的文件中。
阅读全文