Pythonista3 に py-tree をインストールする

ディレクトリ構成を一覧表示してくれる 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 で確認することができます。

まとめ

目的コマンドサンプル
不可視ファイルを作るtouchtouch .invisible
ファイルを Pythonista3 で編集editedit .invisible
不可視ファイルを含むファイルを表示ls -a
または
la
la
(la .* で、不可視ファイルのみを表示)

“Pythonista3 に py-tree をインストールする” への2件の返信

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください