【Python】テキストの各行にプレフィックスを追加する

機能

テキストの各行にプレフィックスを追加するPythonプログラムです。

例えば、以下のテキストをプログラムで実行すると、各行の先頭に「* 」が追加されます。

あいうえお
abcdefg
1234567890
* あいうえお
* abcdefg
* 1234567890

プレフィックスはプログラムの実行引数で変更可能です。

# あいうえお
# abcdefg
# 1234567890

サンプル動画

youtu.be

プログラム

#! Python3
# 機能
#  テキストの各行にプレフィックスを追加する
# 使い方
#  1.テキストをコピーする
#  2.Pythonを実行する
#  3.実行結果がコピーされる
# 実行コマンド
#  python prefix_adder.py
#  python prefix_adder.py #
#  python prefix_adder.py "# "

import sys
import pyperclip

# プレフィックスを設定する(引数優先)
prefix = "* "
if len(sys.argv) == 2:
    prefix = sys.argv[1]

# テキストを取得し、行ごとに分割する
text = pyperclip.paste()
lines = text.split("\n")

# 行ごとにプレフィックスを追加する
for i in range(len(lines)):
    lines[i] = prefix + lines[i]

# 行を連結し、コピーする
output = "\n".join(lines)
pyperclip.copy(output)

デフォルトのプレフィックスを変えたい場合は以下の部分を変更して下さい。

prefix = "* "

使い方

  1. テキストをコピーする
  2. Pythonを実行する
  3. 実行結果がコピーされる

コマンド

インストールコマンド

pyperclipをインストールしていない場合は以下のコマンドを実行して下さい。

pip install pyperclip

実行コマンド

python prefix_adder.py
python prefix_adder.py #
python prefix_adder.py "# "

プレフィックスを変更したい場合は引数を指定して下さい。

プレフィックスに半角スペースを含めたい場合はダブルクォーテーションで囲んで下さい。

実行環境

プログラム実行時の環境は以下になります。

開発環境については以下を参考にして下さい。

stmtk358.hatenablog.com

プログラムのバッチ化については以下を参考にして下さい。

stmtk358.hatenablog.com

exeファイル

Python環境がなくても実行可能なexeファイルもあります。

とりあえず試してみたい方は以下からダウンロードして下さい。

github.com

実行方法

exeファイルを実行(ダブルクリック)するだけです。

コマンドラインから実行する場合は以下のコマンドを実行して下さい。

prefix_adder.exe
prefix_adder.exe #
prefix_adder.exe "# "

GitHub

今回使用したプログラムやテストデータはGitHubにアップロードしています。

github.com

参考文献

www.oreilly.co.jp