python(練習問題)#タブを4つのスペースに変更


この文章は図書「跳投SUN」の練習問題に基づいて書かれた。

タブを4つのスペースに変更

  • 必要な機能:文書ファイルの検索、文字列の変更
  • 入力値:文書ファイル(タブ含む)
  • 出力値:空白タブの文書ファイル
  • python tabto4.py src dstプログラムを上記の形式で実行させます.
  • tabto4.py:作成するPythonプログラム名
  • src:ラベルを含むオリジナルファイル名
  • dst:ファイル名
  • 1. tabto4.pyファイルの作成

    import sys
    
    src = sys.argv[1]
    dst = sys.argv[2]
    
    print(src)
    print(dst)
    sys.argvを使用して入力値のコードを確認します.

    2.入力値の確認

    % python tabto4.py a.txt b.txt #enter
    a.txt
    b.txt
    出力が正常であることを確認できます.

    3.a.txtの作成


    a.txtをテストのソースファイル(タブを含むファイル)として作成します.以下に示します.各単語はタブ(t)として入力する必要があります.
    Life	is	too	short #탭으로 구분
    You	need	python #탭으로 구분

    4.a.txtタブ->4つのスペースフォーマットのコピー

    import sys
    
    src = sys.argv[1]
    dst = sys.argv[2]
    
    f = open(src)
    tab_content = f.read()
    f.close()
    
    space_content = tab_content.replace("\t", " "*4)
    print(space_content)
    これは、srcに対応する入力ファイルを読み出してtab contentという変数に内容を保存し、文字列のreplace関数を使用してタブ(t)を4つのスペースに変更するコードです.

    5. tabto4.pyファイルを変更してコマンドを実行

    % python tabto4.py a.txt b.txt
    Life    is    too    short
    You    need    python
    4つのスペースで印刷されているはずです.しかし、タブと空白の4つの違いは目で見ると確定しにくい.
    変更内容をb.txtというファイルに保存してみます

    6.b.txt生成コード

    import sys
    
    src = sys.argv[1]
    dst = sys.argv[2]
    
    f = open(src)
    tab_content = f.read()
    f.close()
    space_content = tab_content.replace("\t", " "*4)
    f = open(dst, 'w')
    f.write(space_content)
    f.close()
    ラベルが空白のspace contentを出力ファイルdstに書き込むようにコードを変更しました.

    7.コード修正後のコマンド実行

    % python tabto4.py a.txt b.txt上記コマンドを実行すると、ディレクトリにb.txtファイルが生成されます.b.txtファイルを見るとa.txtと同じ内容が格納されていることがわかります.
    エディタでtxtファイルを表示すると、空白とタブの違いが表示されます.