<Python, iPython> 出力の取り込み。
iPython
のコンソールにぺっ
って出力される結果のキャプチャーcapture
方法。
- その1
シェルコマンドshell command
をキャプチャー。
!
付きで呼び出したコマンドの結果をオブジェクトに取り込む。
In [110]: ls In [111]: ls a b c In [112]: ls -l total 0 -rw-rw-r-- 1 hage hoge 0 Nov 27 00:28 a -rw-rw-r-- 1 hage hoge 0 Nov 27 00:28 b -rw-rw-r-- 1 hage hoge 0 Nov 27 00:28 c In [113]: c = !ls -l In [114]: c Out[114]: ['total 0', '-rw-rw-r-- 1 hage hoge 0 Nov 27 00:28 a', '-rw-rw-r-- 1 hage hoge 0 Nov 27 00:28 b', '-rw-rw-r-- 1 hage hoge 0 Nov 27 00:28 c'] In [115]: c.l Out[115]: ['total 0', '-rw-rw-r-- 1 hage hoge 0 Nov 27 00:28 a', '-rw-rw-r-- 1 hage hoge 0 Nov 27 00:28 b', '-rw-rw-r-- 1 hage hoge 0 Nov 27 00:28 c'] In [116]: c.n Out[116]: 'total 0\n-rw-rw-r-- 1 hage hoge 0 Nov 27 00:28 a\n-rw-rw-r-- 1 hage hoge 0 Nov 27 00:28 b\n-rw-rw-r-- 1 hage hoge 0 Nov 27 00:28 c' In [117]: c.fields(0) Out[117]: ['total', '-rw-rw-r--', '-rw-rw-r--', '-rw-rw-r--'] In [118]: c.fields(0)[1] Out[118]: '-rw-rw-r--' In [120]: type(c) Out[120]: IPython.utils.text.SList
マニュアル。
IPython as a system shell — IPython 4.0.0 documentation
- その2
python
のスクリプトをrun
させた結果を取り込む。
In [123]: more d.py #!/usr/bin/env python print('aaa') In [124]: run d.py aaa In [125]: %%capture c .....: run d.py .....: In [126]: c Out[126]: <IPython.utils.capture.CapturedIO at 0x2b75a8f54400> In [127]: c.show() aaa
マニュアル。