Automate stuff with python - Calibre


2 min read


One of the reasons python language is so popular as it enables people to automate small chores around the work. Recently I was stuck with one of the problems. I use Calibre Library for ebook management regularly. If you have tried Calibre tool yet, I would highly recommend it.


One of the challenges with Calibre is that it organizes books into nested folders based on the author's name, which can make it difficult to locate a specific book if you don't remember the author's name. If you want to search for a book without using the Calibre tool, it can be time-consuming to manually browse through the folders organized by author name, even if you know the name of the author you are looking for. I noticed this frustration in the Calibre community too.


  1. Read the source folder and make a list of all files (nested or otherwise).

  2. Loop through files and filter them by media type.

  3. Copy the file using `shutil` library.

  4. Enjoy your coffee.

import pathlib
import shutil

sourcefolder = "C:\\Users\\Paritosh Baghel\\Calibre Library"
destination = "C:\\codebase\\books"
file_list_source = [str(path) for path in pathlib.Path(sourcefolder).rglob("*.*") if path.is_file()]

for source_file in file_list_source:
  if 'pdf' in source_file or 'epub' in source_file or 'mobi' in source_file:
    shutil.copy(source_file, destination)


Python can be used to automate tedious housework. You'll gain a broad understanding of programming and save time by using it.