Pythonista 3がアップデート。更新内容をチェックした時のメモをざっくりとまとめました。
f-stringsをサポート
Python3.5から3.6.1になってf-stringsが使えるようになりました。こんな感じ。
user_name = 'hal' print(f'hello {user_name}')
ファイル周りのアップデート
今回のアップデートで1番目立つのがファイル管理周り。
- iCloudのサポート
- 他アプリのファイルを開ける
- iOS11のドラッグ&ドロップに対応
- Open inでPythonファイルをインポート
- ファイル検索はサブフォルダも対象に
- ファイル・フォルダのお気に入り登録
iCloudサポートにより、ようやくデフォルトで同期機能が実装されました。一々ファイルを受け渡すことなくシームレスに編集できるのも便利です。
Working Copyからプロジェクトを開いてPythonistaで編集できるのがかなり良い。
コンソールのUI変更
コピーやPythonのバージョン切替がプルダウンメニューから選べるようになりました。
ドキュメントの改善
ドキュメントのあいまい検索に対応。未収録だったモジュールの簡単な説明と公式へのリンクも追加されています。
エディタ周りの変更
ツールメニューのConvert TabsがReformat Codeに名称変更。内容も機能強化されています。タブだけでなくコーディングスタイルを選んで反映できるようになりました。
読み取り専用のファイルはロックアイコンがついてわかりやすくなりました。これまではファイル名を()で囲って区別していた。
コメントがファイル名タップでポップアップするアウトライン表示に追加されると書いてあるけどよくわからない。
insert assetボタンが上部メニューから編集画面右下に変更された。以前あったタブボタンは上部メニューへ移動。
URLスキーム
新たにexecパラメータが追加されました。エンコードしたコードそのものを指定して使います。
pythonista3://?exec=%23!%20python3%0A%23%20coding:%20utf-8%0Aimport%20console%0A%0Aconsole.hud_alert%28%27%E3%83%86%E3%82%B9%E3%83%88%27,%20%27success%27,%202.0%29%0A
怖いなーと思ったら実行前にちゃんと確認画面が表示されるようになっていた。そのままファイル保存できたらいいのに。
このURLはツールメニューのShareから作成する事もできます。
もう一つrootパラメータが追加。iCloudに対応したのでicloud|localを指定して使います。デフォルトはlocal。
ビルトインモジュールの変更
arrow、openpyxlモジュールが追加されました。arrowは日付や時刻関連。openpyxlはExcel操作系。
その他既存モジュールに追加変更あり。詳しくはドキュメントを。
dialogs.pick_document
で他アプリのファイルパスを取得できるようになっています。
editor.open_file(dialogs.pick_document())
あとがき
今回の目玉はファイルアプリ対応。とりわけiCloudの対応ですね。これまでDropbox APIを使って同期やバックアップをしていた人が多かったと思いますが、ようやくデフォルトで同期機能が実装されました。
外部ファイルは履歴が残るので次からは簡単に開いて編集できます。
Safariの共有からコードを実行した時に、appex.get_url
等の挙動がおかしい気がしますが、よく調べていないので新年へ持ち越し。公式フォーラムを見るとバグがいくつかあるようなのでその内アップデートがあるのでしょう。