すごい、ニッチなやつ。
Kindleでweb小説、たとえば東方創想話などを読みたいときwebからダウンロードして、テキストで保存する。
そしてファイルの中身を連結するソフトを使って、一つのテキストファイルにする。
このとき「#改ページ」が入っているとKindle側で章として扱ってくれる。
一つのテキストファイルにまとめないとファイル数が多くなって管理が面倒になる。
そのため、「#改ページ」を自動で入力してくれるスクリプトを書いた。
自分以外に需要がなさそう・・・
改善後
#!/usr/bin/env python # coding: UTF-8 import os import os.path def main(): list1 = os.listdir() list1.sort(key=os.path.getctime, reverse=False) print(list1) with open('new1.txt', 'w', encoding='utf-8') as f1: for filename in list1: if filename.endswith('.txt'): with open(filename, 'a+', encoding='utf-8') as f: f.write('\n[#改ページ]\n') with open(filename, 'r', encoding='utf-8') as f: a = f.read() f1.write(a) print('Done') A = input('Please Any key') if __name__ == '__main__': main()
改善前
import os import os.path import sys import codecs import pprint list = os.listdir() pprint.pprint(list) list.sort(key=os.path.getctime, reverse=False) pprint.pprint(list) file = open("new.txt", 'a', encoding='utf-8') for i in range(len(list)): if list[i] != 'text_conect.py': f = open(list[i], 'a', encoding='utf-8') f.write(u'[#改ページ]\n') f.close() f = open(list[i], 'r', encoding='utf-8') str = f.read() file.write(str) f.close() file.close()
・直せそうなところ
open(), close() をwith構文を使って書き直す。
for 文のところで in range -> in list にしてわかりやすくする?