前回の記事で「ファイルのテキストを本気で整形できないか考えたい(pythonで)」という記事を書きました。今回も同じような内容です。uwscでウインドウのIDとクラスを取得するプログラムを発動させると、プログラム内容にもよりますが、こんな感じにしました。
Pythonのjoin()メソッド、splitメソッドを使って文字整形
左は点線で示されていますがpythonで整形しました。正直あまり読みやすくなってないですね。
with open('C:\\Users\\Desktop\\a.txt') as f: file = open('output.txt','w') for line in f: line = line.split('\n') del line[1] line = ''.join(line) line = line.split('----------') line[1] = line[1] + '\n' line = ' => '.join(line) print(line) file.write(line) file.close()
ポイントは前回の記事にも書きましたが、それにもう一点付け加えたいと思います。
- listはファイルに書き込めない
- split()は文字列にしか使えない。
- join()は空でつなげるとそのままリストを文字列にする。
- listの要素にアクセスするとそれは文字列なので文字列を足すことができる★
これらがポイントになってきます。そして、rjust() ljust()を使うシーンについて考えていましたが、そもそも1行が長すぎる文字列に対してはrjust() ljust()を使うのは難しいということです。rjust()ljust()とは文字列を右寄せや左寄せにできるメソッドのことです。
自分が納得がいくまで完璧に文章を整形することは難しいですが、split()とjoin()の特徴を少し理解していれば、ずいぶんできることが増えそうな気がしてきました。
コメント