007 jupyter .ipynb批量转化.py文件

2019-03-09  本文已影响0人  Oscar_hailiang

经常会碰到jupyter生成的.ipynb文件,难免需要转换为.py文件。下面给出一个指量转换的代码:

'''
@author: oscar
file_name: ipynb2py.py
'''


def getExtfileList(filepath, extensionName):
    """获取指定文件后缀名的所有文件列表"""
    # 后缀名中不允许有"."
    filelists = []
    for eachfilePath, d, filelist in os.walk(filepath):
        for eachfilename in filelist:
            if eachfilename.split(".")[-1].lower() == extensionName.lower():
                tempfile = os.path.join(eachfilePath, eachfilename)
                filelists.append(tempfile)
    return filelists


def ipynb_to_py(ipynb_file, py_ext='.py'):
    py_file = os.path.splitext(ipynb_file)[0] + py_ext
    if os.path.exists(py_file):
        return None
    command = 'jupyter nbconvert --to script %s' % (ipynb_file, )
    os.system(command)


if __name__ == '__main__':
    # 这里填写要转换文件夹目录
    filepath = '/home/emg/softcode/models-master'
    extensionName = 'ipynb'
    ipynb_file_list = getExtfileList(filepath, extensionName)
    file_count = len(ipynb_file_list)
    for index, ipynb_file in enumerate(ipynb_file_list):
        print('正在转换第%s/%s个文件:%s' % (index + 1, file_count, ipynb_file))
        ipynb_to_py(ipynb_file)
    print('全部.ipynb文件转换完成!')


上一篇下一篇

猜你喜欢

热点阅读