GarretCafe

楽に生きる.心と持ち物,手ぶら生活のすすめ

                            

Pythonista3内でファイルをコピーするモジュール


梅雨なんだか夏なんだかよくわからない天気が続いていますね。個人的には梅雨よりは夏の方が好きなので、もっと晴れていて欲しいのですが、水不足とかは困るのでなんとも言えませんね。

本題に移りますが、Pythonistaでスクリプトを作っていた時になんだかんだ不便を感じていたのが、なぜかファイルのコピーができないということ。一個のスクリプトを作って、それを改良する時に複製してバックアップを取っておきたいたちなのですが、そういうことができない。
もちろん中身をコピーして新しいファイルに貼り付ければいいのですが、それはなんか違うでしょう。
そんな不便を解消するために、ファイルやフォルダをコピーできるようにするスクリプトを組んでみましたので、紹介します。

導入方法

いつも通りちょちょっとインポートしましょう。

Dropboxからダウンロード

中身は以下です。

# coding: utf-8
import os
import appex
import shutil
import console

def main():
	if appex.is_running_extension():
		FILE = appex.get_file_paths()
		for i in FILE:
			NAME = os.path.basename(i)
			PATH = os.path.dirname(i)
			if os.path.isfile(i):
				t = NAME.split('.')
				shutil.copyfile(i, os.path.join(PATH, t[0] + '-copy.' + t[1]))
			if os.path.isdir(i):
				shutil.copytree(i, os.path.join(PATH, NAME + '-copy'))
		console.alert('copied!', '', 'ok', hide_cancel_button=True)
	else:
		console.alert('Error Occured', 'Please launch from extension', 'ok', hide_cancel_button=True)

if __name__ == '__main__':
	main()

使い方はエクステンションに登録する方法から。こことかと同じ。

コピーしたいファイルを選択して、シェアボタンを選択して、Pythonista3をタップしたら、登録しておいたこのスクリプトを使います。
コピーされたファイルは同じ場所に『〜〜〜−copy』という名前で保存されます。そしたらあとは煮るなり焼くなり好きにしてもらって大丈夫です。

これでまたPythonistaが一層便利になりました。

こないだ作ったスクリプトの機能がすでに実装されていて焦ったけど、今回はそんなことがないことを祈っています。というかないよね。うん。