牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

クリップボードのテキストの連続した数字3桁ごとにカンマをいれるスクリプトをPythonで書いてみた

MacOS限定

#!/usr/bin/env python
# *-# -*- coding: utf-8 -*-

import re
import commands
from Carbon import Scrap

def insert_comma(txt):
    return re.sub(r"(\d)(?=(\d{3})+(?!\d))", r"\1,", txt)

def toClipboard(txt):
    Scrap.ClearCurrentScrap()
    Scrap.GetCurrentScrap().PutScrapFlavor('TEXT', 0, txt)


if __name__ == '__main__':
    txt = commands.getoutput("pbpaste")
    toClipboard(insert_comma(txt))

テスト

次のテキストをコピーしてクリップボードに。

123
1234
123456789
hogehoge
mogera1234mogera

スクリプト実行してペースト

123
1,234
123,456,789
hogehoge
mogera1,234mogera

クリップボードに入ってるのがテキストかどうか判定してないとか色々問題があると思われるがとりあえず。