以下は contextlib.redict_stdout()
を使う方法です。
python
1import io
2from ping3 import verbose_ping
3from contextlib import redirect_stdout
4from pprint import pprint
5
6ip_address = '8.8.8.8'
7count = 3
8timeout = 1
9
10with io.StringIO() as buf, redirect_stdout(buf):
11 for _ in range(count):
12 verbose_ping(ip_address, timeout=timeout)
13 result = buf.getvalue().rstrip().split('\n')
14
15print("----")
16pprint(result)
17
18# ----
19# ["ping '8.8.8.8' ... 29ms",
20# "ping '8.8.8.8' ... 19ms",
21# "ping '8.8.8.8' ... 20ms",
22# "ping '8.8.8.8' ... 22ms",
23# "ping '8.8.8.8' ... 28ms",
24# "ping '8.8.8.8' ... 21ms",
25# "ping '8.8.8.8' ... 27ms",
26# "ping '8.8.8.8' ... 29ms",
27# "ping '8.8.8.8' ... 29ms",
28# "ping '8.8.8.8' ... 20ms",
29# "ping '8.8.8.8' ... 29ms",
30# "ping '8.8.8.8' ... 25ms"]
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。