テキストファイルの最後に、青空文庫で使われている「#改ページ」をいれるスクリプト

投稿者: | 2017年3月2日

すごい、ニッチなやつ。

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 にしてわかりやすくする?

 

 

 

Pocket

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください