timmy 修订了这个 Gist 10 months ago. 转到此修订
没有任何变更
timmy 修订了这个 Gist 10 months ago. 转到此修订
没有任何变更
timmy 修订了这个 Gist 1 year ago. 转到此修订
1 file changed, 30 insertions
asyncio_run_command.py(文件已创建)
| @@ -0,0 +1,30 @@ | |||
| 1 | + | import asyncio | |
| 2 | + | ||
| 3 | + | async def run_command(*args): | |
| 4 | + | # 建立子行程 | |
| 5 | + | process = await asyncio.create_subprocess_exec( | |
| 6 | + | *args, | |
| 7 | + | stdout=asyncio.subprocess.PIPE, | |
| 8 | + | stderr=asyncio.subprocess.PIPE) | |
| 9 | + | ||
| 10 | + | # 等待子行程完成 | |
| 11 | + | stdout, stderr = await process.communicate() | |
| 12 | + | ||
| 13 | + | # 輸出結果 | |
| 14 | + | if stdout: | |
| 15 | + | print(f'[stdout]\n{stdout.decode()}') | |
| 16 | + | if stderr: | |
| 17 | + | print(f'[stderr]\n{stderr.decode()}') | |
| 18 | + | ||
| 19 | + | # 執行指令 | |
| 20 | + | # asyncio.run(run_command('ls', '-l')) | |
| 21 | + | # asyncio.run(run_command('ping', 'www.google.com')) | |
| 22 | + | ||
| 23 | + | # 執行指令 | |
| 24 | + | async def main(): | |
| 25 | + | await asyncio.gather( | |
| 26 | + | run_command('ping', '-c', '4', 'www.google.com'), | |
| 27 | + | run_command('ls', '-l') | |
| 28 | + | ) | |
| 29 | + | ||
| 30 | + | asyncio.run(main()) | |
上一页
下一页