テキストを直接 epub に変換していますが、HTML ブック ファイルを個別のヘッダー/チャプター ファイルに自動的に分割する際に問題が発生しています。現時点では、以下のコードは部分的に機能しますが、1 つおきのチャプター ファイルしか作成しません。そのため、ヘッダー/チャプター ファイルの半分が出力から欠落しています。コードは次のとおりです。
def splitHeaderstoFiles(fpath):
infp = open(fpath, 'rt', encoding=('utf-8'))
for line in infp:
# format and split headers to files
if '<h1' in line:
#-----------format header file names and other stuff ------------#
# create a new file for the header/chapter section
path = os.getcwd() + os.sep + header
with open(path, 'wt', encoding=('utf-8')) as outfp:
# write html top meta headers
outfp = addMetaHeaders(outfp)
# add the header
outfp = outfp.write(line)
# add the chapter/header bodytext
for line in infp:
if '<h1' not in line:
outfp.write(line)
else:
outfp.write('</body>\n</html>')
break
else:
continue
infp.close()
この問題は、コードの下部にある 2 番目の「for ループ」で発生し、次の h1 タグを探して分割を停止します。プログラムが次の反復で次のヘッダー/チャプターを見つけることができるように、seek() または tell() を使用して 1 行巻き戻しまたは戻ることはできません。どうやら、暗黙の iter または操作中の次のオブジェクトを含む for ループで Python でこれらを使用することはできません。「ゼロ以外のcur-relative seeksを実行できません」というエラーが発生するだけです。
コードでwhile line != ' ' + readline() の組み合わせも試しましたが、上記と同じエラーが発生します。
さまざまな長さの HTML ヘッダー/チャプターを Python で個別のファイルに分割する簡単な方法を知っている人はいますか? このタスクを簡単にするのに役立つ特別な python モジュール (ピクルスなど) はありますか?
私はPython 3.4を使用しています
この問題の解決策について、事前に感謝します...