我想建议你考虑一下simppl。它是一个可以通过pypi: pip install simppl获得的模块,运行在python3上。
Simppl允许用户运行shell命令并从屏幕上读取输出。
开发人员建议使用三种类型的用例:
最简单的用法是这样的:
从simppl。simple_pipeline导入simepipeline
sp = SimplePipeline(start=0, end=100):
sp.print_and_run(“< YOUR_FIRST_OS_COMMAND >”)
sp.print_and_run(“< YOUR_SECOND_OS_COMMAND >”)' ' '
要同时运行多个命令,请使用:
commands = ['<YOUR_FIRST_OS_COMMAND>', '<YOUR_SECOND_OS_COMMAND>']
Max_number_of_processes = 4
max_number_of_processes sp.run_parallel(命令)' ' '
最后,如果你的项目使用cli模块,你可以直接运行另一个command_line_tool作为管道的一部分。另一个工具会
从相同的进程中运行,但它将从日志中显示为
管道中的另一个命令。这使得调试和
重构调用其他工具的工具。
从example_module导入example_tool
Sp.print_and_run_clt (example_tool.run, ['first_number', 'second_nmber'],
{'-key1': 'val1', '-key2': 'val2'},
{“——国旗”})' ' '
请注意,打印到STDOUT/STDERR是通过python的日志模块。
下面是simppl工作原理的完整代码:
import logging
from logging.config import dictConfig
logging_config = dict(
version = 1,
formatters = {
'f': {'format':
'%(asctime)s %(name)-12s %(levelname)-8s %(message)s'}
},
handlers = {
'h': {'class': 'logging.StreamHandler',
'formatter': 'f',
'level': logging.DEBUG}
},
root = {
'handlers': ['h'],
'level': logging.DEBUG,
},
)
dictConfig(logging_config)
from simppl.simple_pipeline import SimplePipeline
sp = SimplePipeline(0, 100)
sp.print_and_run('ls')