ミニマリストであるかそうでないかというよりかは、デスクトップにおけるかおけないかという問題です。
pythonでテキスト更生
- エディターでできるが、立ち上げに時間がかかる
- またはエディターのコマンドを覚えないといけない
- pythonでやるメリット: インタラクティブ。スピーディー?
- pythonでやるデメリット: カレントディレクトリ外だとファイルパスを指定するのが面倒。デスクトップにディレクトリが増える
プロジェクトっぽくつくると、新にディレクトリを作る必要があり結果、インタラクティブとはいえめんどうになる可能性もある。相対パス指定を使いこなせばいいが、それもめんどい。だがGUIのソフトを作ろうという気にもならない。
pythonでテキスト更生ツールを作る
erace_space.py
半角スペースを消す python コード
def erace_space(): filepath = input("filepath?: ") f = open(filepath) content = f.read() content = content.replace(" ", "") f.close f = open(filepath, "w") f.write(content) f.close f = open(filepath) content = f.read() print(content)
replace_line.py
ファイルパスと置換する文字を選択してファイル内文字を置換するプログラム
def replace_line(): filepath = input('filepath?: ') replace_before = input('replace_before?: ') replace_after = input('replace_after?: ') contents = [] with open(filepath, 'r') as f: for line in f: line = line.replace(replace_before, replace_after) contents.append(line) with open(filepath, 'w') as f: for content in contents: f.write(content)
main.py
上記プログラムをimportして選択して実行できるようにする mainプログラム
import erace_space import replace_line import sys sys.dont_write_bytecode = True while True: print("\n1: erace_space.py\n2: replace_line.py\nq: exit_program") number = input("please_choice_program_number?: ") if number == "1": erace_space.erace_space() elif number == "2": replace_line.replace_line() elif number == "q": break;
他ファイルをimportしたときにできる__pycashe__とは
pythonモジュールをimportすると自動的に__pycache__というディレクトリが作成され、配下に.pycファイルが作成されます。
参考 → 「__pycache__と.pycファイル – Python学習講座」
勝手に作られるので邪魔なのですが、よくよく考えるとそのままでもいいのかななんて。でもとりあえずこうすれば作られないみたいです。
python -B xxx.py
雑感: よくよく考えると
別にimportしなくてもいいような気もしてきた。っていうかしなくていいよな・・・。
コメント