How to convert .py to .ipynb in Ubuntu 22.04

How to convert .py to .ipynb in Ubuntu 22.04

最近看到大家在用jupyter notebook,我也试了一下,感觉还不错,不过,也遇到了一些问题,比方说,我有堆的.py文件,如果要一个一个将其复制-粘贴到jupyter notebook中工作量将是非常大的,所以,我就在想有没一种方法可以让我能够实现.py文件到.ipynb文件的转换。

jupyter nbconvert

关于这个问题,我也试着问了一下ChatGPT

在这里插入图片描述
根据ChatGPT的回复,我尝试着用命令

jupyter nbconvert --to notebook --execute utils.py --output utils.ipynb

转换,结果提示我的文件有问题,下面是我的原始文件内容:

(lanzhou) lwk@qwfys:~/Public/project/python/alink_tutorial_python/pyalink$ cat utils.py
from pyalink.alink import *
import os
from datetime import datetime
from math import floor

ROOT_DIR = "/home/lwk/data/pyalink/"

def generateSchemaString(colNames, colTypes):
    n = len(colNames)
    str = ''
    for i in range(n):
        if i>0 :
            str = str + ","
        str = str + colNames[i] + " " + colTypes[i]
    return str


def splitTrainTestIfNotExist(source, trainFilePath, testFilePath, ratio):
    if not(os.path.exists(trainFilePath) or os.path.exists(testFilePath)):
        spliter = SplitBatchOp().setFraction(ratio)
        
        source.link(spliter)
        
        spliter.link(
            AkSinkBatchOp().setFilePath(trainFilePath)
        )
        
        spliter.getSideOutput(0)\
            .link(
                AkSinkBatchOp().setFilePath(testFilePath)
            )
        
        BatchOperator.execute()
		
        
class Stopwatch :
    
    def __init__(self):
        self.timer_start = datetime.now()
        self.timer_end = datetime.now()
    
    def start(self):
        self.timer_start = datetime.now()
        
    def stop(self):
        self.timer_end = datetime.now()
        
    def reset(self):
        self.timer_start = datetime.now()
    
    def getElapsedTimeSpan(self):
        elapse = self.timer_end - self.timer_start
        
        r = "";
        if elapse.days > 0 :
            r += str(elapse.days) + " days  "

        if elapse.seconds >= 3600 :
            r += str(floor(elapse.seconds/3600)) + " hours  "

        if elapse.seconds >= 60 :
            r += str(floor(elapse.seconds%3600/60)) + " minutes  "

        if elapse.seconds > 0 :
            r += str(elapse.seconds%60) + " seconds  "

        if elapse.microseconds > 0 :
            r += str(elapse.microseconds/1000) + " milliseconds  "
            
        return r
(lanzhou) lwk@qwfys:~/Public/project/python/alink_tutorial_python/pyalink$ 

这个问题暂时先不管了,我们用另外一种方式来转换。

p2j

这里,我们先来安装p2j包,即:

(lanzhou) lwk@qwfys:~/Public/project/python/alink_tutorial_python/pyalink$ pip install p2j
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple/
Collecting p2j
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/ee/5b/98fd10f7ba9fdfc99613c99040a87285dfc68392e5a059c22387ea814e39/p2j-1.3.2-py3-none-any.whl (19 kB)
Installing collected packages: p2j
Successfully installed p2j-1.3.2
(lanzhou) lwk@qwfys:~/Public/project/python/alink_tutorial_python/pyalink$

接下来,我们借助p2j来转换

(lanzhou) lwk@qwfys:~/Public/project/python/alink_tutorial_python/pyalink$ p2j utils.py 
Notebook utils.ipynb written.
(lanzhou) lwk@qwfys:~/Public/project/python/alink_tutorial_python/pyalink$ 

我们看到.pynb文件已经生成,接下来,我们在jupyter notebook中打开新生成的utils.ipynb文件,如下图所示。
在这里插入图片描述
至此,我们任务就算完成了。

参考文献

相关推荐

  1. Ubuntu2204配置samba

    2024-03-27 12:30:04       74 阅读
  2. 2024.Python

    2024-03-27 12:30:04       54 阅读
  3. 12.<span style='color:red;'>2024</span>

    12.2024

    2024-03-27 12:30:04      40 阅读
  4. 2024.4

    2024-03-27 12:30:04       32 阅读
  5. 笔记2024

    2024-03-27 12:30:04       28 阅读
  6. MS<span style='color:red;'>2024</span>

    MS2024

    2024-03-27 12:30:04      26 阅读
  7. css2024

    2024-03-27 12:30:04       26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-27 12:30:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-27 12:30:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-27 12:30:04       82 阅读
  4. Python语言-面向对象

    2024-03-27 12:30:04       91 阅读

热门阅读

  1. 《促进和规范数据跨境流动规定》答记者问

    2024-03-27 12:30:04       39 阅读
  2. yarn安装和使用及与npm的区别

    2024-03-27 12:30:04       45 阅读
  3. Redis常见问题及解决方案

    2024-03-27 12:30:04       46 阅读
  4. SpringBoot 统一后端返回格式、处理全局异常

    2024-03-27 12:30:04       41 阅读
  5. spark累加器

    2024-03-27 12:30:04       42 阅读