Cannon
Cannon

Reputation: 319

Converting all files in folder to .py files

I was wondering if their is anyway to go through and make copies of each .ipynb file in a folder and then change that file to .py. I want to keep the .ipynb files but I would like to have a .py file as well. I know how to do it manually but would like a way to do it automatically for each file in a specified directory.

Upvotes: 4

Views: 2234

Answers (4)

sns
sns

Reputation: 385

To convert all .ipynb files to .py in a directory structure recursively you may execute

find . -name "*.ipynb" -exec jupyter nbconvert --to script {} \;

Upvotes: 0

Guy Fridman
Guy Fridman

Reputation: 41

import os

directory = 'ipynb PATH'

for subdir, dirs, files in os.walk(directory):
    for file in files:
        if os.path.splitext(file)[1] == '.ipynb':
            exe_command = 'jupyter nbconvert "{}" --to python'.format(''.join(os.path.join(subdir, file)))
            
            # print the command`enter code here`
            # print (exe_command)
            
            os.system(exe_command)
            
            # Delete the file 
            # os.remove(''.join(os.path.join(subdir, file)))
        else:
            continue

Upvotes: 4

Karan Kaw
Karan Kaw

Reputation: 539

Just try this at Cmd prompt inside that folder.

jupyter nbconvert *.ipynb --to script

Converts all .ipynb files to .py and retains all .ipynb files as well.
Hope it helps

For more details, Check this link as well Save .ipynb to .py automatically on saving notebook

Upvotes: 5

0x5453
0x5453

Reputation: 13599

find . -name "*.py" -exec ipython nbconvert --to=python {} \; should work on Linux.

Upvotes: 4

Related Questions