プログラミング

Python でファイルを読み込み何か加工した結果を出力するコードの雛形

投稿日:2021年9月9日 更新日:

テキストファイルを読み込んで、何か加工を行い、その結果を標準出力に出力する Pythonコード」の雛形を紹介します。

早速ですが、以下になります。

import sys
import os

def convert_lines(lines):
    """データを修正して返す"""
    new_lines = []
    for line in lines:
        # 例として、各行の末尾に "-dummy" を追加する
        line_tmp = line.rstrip() + '-dummy'
        new_lines.append(line_tmp)

    return new_lines

def read_file(file_path):
    """ファイルを読み込んで配列にして返す"""
    lines = []
    f = open(file_path, 'r')
    for line in f:
        lines.append(line)
    return lines

def main(file_path):
    try:
        lines = read_file(file_path)
        lines_mod = convert_lines(lines)
        for line in lines_mod:
            print(line)
    except:
        import traceback
        traceback.print_exc()

if __name__ == "__main__":
    if len(sys.argv) < 2:
      print('Usage: %s 元ファイル' % sys.argv[0])
      sys.exit()

    file_path = sys.argv[1]
    if not os.path.exists(file_path):
        print('指定されたファイルが見つかりません')
        sys.exit()

    main(file_path)
  • 引数には、入力となるファイルパスを指定します。
  • それほど Python に詳しいわけでもないため、ベストプラクティスな書き方ではないかもしれません。

やっていることは単純です。

  1. ファイルを1行ずつ読み込み配列にする。
  2. その配列を1行目から読み込んでいき、何か加工する。
  3. その結果も配列にする。
  4. その配列を1行ずつ出力する。

例えば、以下の内容のファイル sample.txt を用意します。

aaaaa
bbbbb
ccccc
ddddd

今回紹介した Python コードを add_dummy.py というファイル名で保存して実行権限を与えます。

$ chmod u+x add_dummy.py

sample.txt を引数に指定して実行します。

$ python add_dummy.py sample.txt
aaaaa-dummy
bbbbb-dummy
ccccc-dummy
ddddd-dummy

これは、期待した通りの結果です。

テキストファイルに対して何かしらプログラムで処理したい場合に、今回の Pythonコードを雛形として、必要なコードを追加・修正して利用すると便利だと思います。

※ 私が必要だったので書きました?。

📂-プログラミング

執筆者:labo


comment

メールアドレスが公開されることはありません。

関連記事

Redux

Redux の非同期処理サンプルページを作りました

Redux で非同期処理を行うサンプルページを作りました。 目次1. スクリーンショット2. デモページ3. 動作4. ソースコード5. 参考情報 1. スクリーンショット スクリーンショット 2. …

JavaScript

JavaScript で URL を扱う場合の処理

JavaScript で URL文字列に関する処理を行う場合、セキュリティの観点から、URL()コンストラクタを使うことが推奨されます。URL()コンストラクタによって URLオブジェクトを生成し、そ …

WordPress

WordPressのソースコード。HTMLにPHPを埋め込むスタイル。

WordPress本体のPHPソースコードや、テーマに含まれているPHPのソースコードを見ると、やたらと PHPの開始タグ(<?php)と終了タグ(?>)が埋め込まれています。 例えば、こ …

WordPress

WordPress で処理を追加したい場合、どこにコードを書けばよいのか?

自分で導入した WordPress でブログを運営していたとします。ある日、WordPress の動作を変更したくなって 調べてみると、ほんの少し PHPのコードを書けば済むことが分かりました(アクシ …

Web Programming

素のJavaScript と Sass で Webページを作成するための雛形

素のJavaScript と Sass で Webページを作成するための雛形を紹介します(あくまで一例です)。