ディレクトリ構成を一覧表示してくれる py-tree を Pythonista3 (iOS) にインストールし、使いやすくする方法、など
py-tree をインストールすると
こういうのができるようになります:
[mysite]$ tree
.
|-- db.sqlite3
|-- manage.py
|-- mysite
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| `-- wsgi.py
`-- polls
|-- __init__.py
|-- admin.py
|-- apps.py
|-- models.py
|-- tests.py
|-- urls.py
|-- views.py
`-- migrations
|-- 0001_initial.py
`-- __init__.py
Pythonista3 に限った話ではありませんが、Web アプリなど階層構造でプロジェクトを作っている時には、CLI (Pythonista3 の場合は StaSh) でディレクトリとファイルの一覧を見たくなるものです。そんな時に便利なのが py-tree コマンドです。上の例のように表示できるので、デバッグする時などにも重宝します。
インストール
インストールは簡単で、StaSh で以下のコマンド ([stash]$ プロンプトの後の部分) を実行します。
[stash]$ pip install py-tree
“tree” で実行できるようにする
実行するのはもちろん py-tree [enter] です。が、ソフトウェアキーボードでハイフンを入力するのは一手間かかって面倒なので、tree と入力すれば実行できるようにしましょう。
StaSh では Linux のシェル bash にある .bashrc のように alias を .stashrc ファイルに記載して利用することができます。具体的な手順は以下の通りです:
[stash]$ cd site-packages/stash/ [stash]$ la .gitignore .stash_history .stash_tips .travis.yml CHANGES.md LICENSE README.md __init__.py bin docs getstash.py lib man stash.py system [stash]$ touch .stashrc [stash]$ echo "alias tree='py-tree'" >> .stashrc [stash]$ cat .stashrc alias tree='py-tree' [stash]$ la .gitignore .stash_history .stash_tips .stashrc .travis.yml CHANGES.md LICENSE README.md __init__.py bin docs getstash.py lib man stash.py system
StaSh を一度終了してから再度実行すると、一番上のサンプルのように tree コマンドで階層表示ができるようになります。
(蛇足) Pythonista 3 で xxx.py 以外のファイルを作成、編集する
Pythonista3 単体では .stashrc のような名前のファイルは作れません (勝手に .py が付加されてしまう)。また、一度作るとドットで始まるファイルは不可視となり、編集できません。そのため、そのようなファイルを作る場合は、上記手順にあるように StaSh の touch コマンドでファイルを作り、edit コマンドで Pythonista3 の編集画面で開いてあげます。不可視ファイルは ls -a または同コマンドのエイリアスとしてデフォルトで登録されている la で確認することができます。
まとめ
| 目的 | コマンド | サンプル |
|---|---|---|
| 不可視ファイルを作る | touch | touch .invisible |
| ファイルを Pythonista3 で編集 | edit | edit .invisible |
| 不可視ファイルを含むファイルを表示 | ls -aまたは la | la( la .* で、不可視ファイルのみを表示) |



