メール引用テキスト整形ツールは、メールの引用テキスト(>で始まる行)を整形・クリーンアップするPythonツールです。引用記号を除去し、読みやすい形に整形し、スペースを改行に変換して見やすくします。
- 引用記号除去: メールの引用記号(
>、>>など)を除去 - テキスト整形: 日本語テキストを適切な改行で整形
- スペース変換: 半角・全角スペースを改行に変換
- キーワード処理: 指定されたキーワードの前に空行を挿入(config.iniで編集可能)
- バッチ処理: 複数のテキストファイルを一括処理
- エラーハンドリング: 包括的なエラー処理とログ機能
- 設定可能: 外部設定ファイルサポート
- バックアップ: 元ファイルのオプションバックアップ
- コマンドラインインターフェース: コマンドライン引数サポート
現段階では、半角・全角スペースを改行に置き換える処理を行うため、完璧にメールの文を整えることはできません。
また、日本語テキスト以外では正常な動作を期待できないことをご承知おきください。
- Python 3.7 以上
- 外部依存関係なし(標準ライブラリのみ使用)
- リポジトリをクローン:
git clone https://github.com/1987Shiz321/QuoteFormatCleaner.git
cd QuoteFormatCleaner- 追加のインストールは不要(Python標準ライブラリのみ使用)
inputディレクトリを作成し、テキストファイルを配置- ツールを実行:
python email_cleaner.py- 処理されたファイルが
outputディレクトリに保存される
python email_cleaner.pypython email_cleaner.py --config custom_config.inipython email_cleaner.py --log-level DEBUG--config: 設定ファイルのパスを指定(デフォルト:config.ini)--log-level: ログレベルを設定(DEBUG,INFO,WARNING,ERROR)
ツールは設定ファイル(config.ini)を使用し、初回実行時に自動作成されます。以下の設定をカスタマイズできます:
[paths]
input_dir = input
output_dir = output
[processing]
encoding = utf-8
backup_original = true
[keywords]
list = 記、件名、宛先、差出人input_dir: 入力ディレクトリのパスoutput_dir: 出力ディレクトリのパスencoding: テキストファイルのエンコーディング(デフォルト: utf-8)backup_original: 元ファイルをバックアップするかどうかkeywords.list: 前に空行を挿入するキーワードのカンマ区切りリスト
入力テキスト:
> これは引用されたメールです。
> 複数行にわたる 内容が 含まれています。
> 句点があります。次の文章が続きます。
出力テキスト:
これは引用されたメールです。
複数行にわたる
内容が
含まれています。
句点があります。
次の文章が続きます。
QuoteFormatCleaner/
├── email_cleaner.py # メインスクリプト
├── config.ini # 設定ファイル(自動生成)
├── email_cleaner.log # ログファイル
├── input/ # 入力ディレクトリ
│ └── backup/ # バックアップディレクトリ(有効時)
├── output/ # 出力ディレクトリ
└── README.md # このファイル
ツールはemail_cleaner.logに詳細なログを作成し、コンソールに進捗を表示します。--log-levelパラメータでログレベルを調整できます。
このプロジェクトはMITライセンスの下でライセンスされています - 詳細はLICENSEファイルを参照してください。
- リポジトリをフォーク
- 機能ブランチを作成(
git checkout -b feature/amazing-feature) - 変更をコミット(
git commit -m 'Add some amazing feature') - ブランチにプッシュ(
git push origin feature/amazing-feature) - プルリクエストを開く
Q: 「入力ディレクトリにテキストファイルが見つかりません」と表示される
A: inputディレクトリに.txtファイルが配置されていることを確認してください。
Q: 文字化けが発生する
A: config.iniのencoding設定を確認し、ファイルのエンコーディングと一致させてください。
Q: 処理が途中で止まる
A: ログファイル(email_cleaner.log)を確認し、エラーの詳細を確認してください。
問題が発生した場合は、以下の情報と共にIssueを作成してください:
- Python バージョン
- エラーメッセージ
- ログファイルの内容
- 問題が発生した入力ファイルの例(個人情報を除く)