プログラミング

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

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

JavaScript でスロットマシーンを作ってみました

JavaScript でスロットマシーンを作ってみました。 目次1. スクリーンショット2. デモページ3. 内容4. ソースコード5. 参考情報 1. スクリーンショット スクリーンショット 2. …

JavaScript でスロットマシーンを作ってみました(3回目)

「JavaScript でスロットマシーンを作ってみる」の3回目です。 今回は ゲームっぽくしてみました。 目次1. スクリーンショット2. デモページ3. 内容4. ソースコード5. 参考情報 1. …

Babel とは?

目次1. Babel とは?2. JavaScript のバージョン3. プラグイン (plugins)4. プリセット (preset)5. 基本的な使い方6. Babel のイメージ 1. Bab …

Web Components

Web Components: カスタム属性の利用方法

Web Components を使ってカスタム要素を作成し、そのタグを記述する際に、独自の属性を利用する方法について説明します。

normalizr の使い方

目次1. はじめに2. normalizr とは?3. 使い方ともう少し詳しい説明4. 関連 1. はじめに JavaScript のライブラリである normalizr の使い方を簡単に説明します。 …