Python テキスト更生プロジェクト

ミニマリストであるかそうでないかというよりかは、デスクトップにおけるかおけないかという問題です。

スポンサーリンク

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しなくてもいいような気もしてきた。っていうかしなくていいよな・・・。

コメント

タイトルとURLをコピーしました