- 在线时间
- 469 小时
- 最后登录
- 2025-8-1
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7561 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2848
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1160
- 主题
- 1175
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
- import json. `: |' y! i\" ~* p/ J7 v\" I; K
7 p) |8 u9 j t8 }- g9 w- def convert_ipynb_to_py(ipynb_file, py_file):
8 K, u5 J\" _* {* }/ s - with open(ipynb_file, 'r',encoding='utf-8') as f:
5 v$ r1 C4 e2 H! _$ ^\" V- C - notebook = json.load(f)
( [8 U: ^2 i8 d3 l8 ~ - ' k! w: g7 M5 [7 [4 s) A, ]
- with open(py_file, 'w',encoding='utf-8') as f:
* x& h; r1 a; o# [: p5 K; G1 k! { - for cell in notebook['cells']:' B% g, P4 Y5 g v* G) G
- if cell['cell_type'] == 'code':3 C+ E3 L: w- l# b b. L
- f.write(''.join(cell['source']) + '\n\n')4 r* r- {* n/ o% ?9 F% R' q% S
复制代码 以上代码是一个用于将.ipynb格式的Jupyter Notebook文件转换为.py格式的Python脚本的函数。该函数会读取指定的.ipynb文件,提取其中的代码单元格内容,并将其写入到指定的.py文件中。
3 P) ~/ f+ Y1 C+ d0 T# P$ j+ P4 I# q Z函数的参数解释如下:) W4 E- _- n9 y0 o7 ^4 ~
. x/ _4 ~+ x6 y$ Q/ \" S1.ipynb_file:输入的.ipynb文件路径。. Z( {5 L# ?; w9 {: i1 Z4 ]1 A2 F
2.py_file:输出的.py文件路径。7 d! H Q3 O, ^ A9 z M( p
7 ^- f" \3 S3 S" I. j4 h. h! `函数的实现步骤:
/ y+ E5 N- s! c/ W* d' {- w: e0 a4 d1 @! G3 s% a
3.使用json模块读取.ipynb文件,将其解析为一个Python对象。0 e' B' s! r q# N( ^- X
4.使用open()函数以写入模式打开指定的.py文件。
* f/ c% F$ w) f% V4 I( Y' o5.遍历.ipynb文件中的每个单元格。
( p" J7 d/ c# r% O6.如果单元格类型是代码单元格('code'),将其源代码内容写入到.py文件中。
6 ~. ^5 f9 ?& C5 F# z1 I7.最终关闭文件。2 p9 b z; _6 W M) a; a7 @% ~
2 X- L4 W v! _) ]2 L
要使用这个脚本,你只需要调用 convert_ipynb_to_py 函数,并传入 .ipynb 文件和期望的 .py 文件名:- convert_ipynb_to_py('your_notebook.ipynb', 'your_notebook.py')
复制代码 将 ‘your_notebook.ipynb’ 和 ‘your_notebook.py’ 替换为你的文件名。7 M; @; }2 ^0 r: z( h% b
# A" o. h _$ z8 b8 o0 L1 L
% {8 }& k% P9 M/ r
% K, `" Z. O3 g" y8 {+ N* r
5 R0 G/ v9 ]: l$ V# ?( B |
zan
|