![見出し画像](https://assets.st-note.com/production/uploads/images/52768993/rectangle_large_type_2_4338a6b1b94b233cc67733e51c08ef7f.jpg?width=1200)
≮Python≯ テキストファイルの半角スペース2を全角スペース1に置換するプログラム
Pythonの入門書を二冊読み終えたので、とりあえず実用的なプログラムを書いて見ることにしました。
そこで Twitter にプログラムを投稿する時、インデントが潰れないように、テキストファイルの半角スペース2個を全角スペース1個に置換するプログラムを作ってみました。と言っても、、、まあエディタの置換機能を使えば出来るんですけどね・・・
コマンドラインの引数にテキストファイル名を指定して起動すると、指定したテキストファイル名の頭に new_ を付けた置換後のファイルを作成します。
自分で使うことを想定しているので、エラー処理は必要かつ最小限に留めています。
裏機能として、全角スペース1個を半角スペース2個に置換する機能も付けているので、ソースファイルを覗いて使い方を確認してください。
ソースファイルは、今日(2021/05/21)から7日間、下記の URL 先からダウンロード出来ます。
ダウンロード出来るソースファイルは、以下のプログラムと同じものです。
# zen Ver.0.00 とりあえず作ったあ〜
import sys
try:
argc = len(sys.argv)
if argc < 2:
sys.exit('コマンドラインエラー')
if argc > 2:
f_ura = True
else:
f_ura = False
with open(sys.argv[1]) as rf:
wt = []
hs = ' ' # 半角スペース2つ
ws = ' ' # 全角スペース1つ
if f_ura:
print('全角スペース1つ ⇒ 半角スペース2つ')
old = ws
new = hs
else:
print('半角スペース2つ ⇒ 全角スペース1つ')
old = hs
new = ws
for rt in rf:
wt.append(rt.replace(old, new))
with open('new_' + sys.argv[1], 'w') as wf:
wf.writelines(wt)
except OSError as err:
print('OS error: {}'.format(err))
#Chromebook 上の #Linux で #Python #Python3 #プログラミング を勉強中 !