動作検証バージョン:Windows 10 Pro(64-bit)+ Python 3.8.3(32-bit)
2月中旬のリリースを目指して、執筆・編集を続けている『Excel VBAユーザーのためのWord VBA入門(1):Document・Range・Selectionの基本編』で、epubファイルの中身を直接編集したいシーンに遭遇しました。
epubの実体はzipファイル
epubファイルの実体は、最近のMicrosoft Officeで作られるファイルと同様に、複数のファイルが一つにまとめられたzipファイルです。
拡張子を「.epub」から「.zip」に変更して、Windowsエクスプローラーで右クリックして表示されるショートカットメニューから、[すべて展開]コマンドで展開してやれば、中身の個別ファイルを見られるようになります。
[スポンサードリンク]
この「拡張子の変更 → すべて展開」操作を、これからリリースまでに何度か行うことになりそうなので、Pythonでスクリプトを作成しました。
epubを展開する
Cドライブtempフォルダーにorg.epubファイルがある状態で以下のスクリプトを実行すると、unzipフォルダー下にepubファイルの中身が展開されます。
import zipfile
with zipfile.ZipFile(r'C:\temp\org.epub')as epub:
epub.extractall(r'C:\temp\unzip')
with zipfile.ZipFile(r'C:\temp\org.epub')as epub:
epub.extractall(r'C:\temp\unzip')
ZipFile.extractallメソッドで、展開しています。
epubにどのようなファイルが含まれるか確認する
epubファイルの中に、どのようなファイルが含まれているのかを確認するなら、以下のようなスクリプトです。
import zipfile
with zipfile.ZipFile(r'C:\temp\org.epub') as epub:
for name in epub.namelist():
print(name)
with zipfile.ZipFile(r'C:\temp\org.epub') as epub:
for name in epub.namelist():
print(name)
ZipFile.namelistメソッドで取得した、ファイル名のリストをprintしています。
最終更新日時:2021-02-22 04:12
[スポンサードリンク]