Python脚本可以导入到基于Web的notebook中,以前导出的notebook文件显然也可以导入到当前的notebook中。
具体步骤
把Python脚本导入到notebook中的步骤如下。
- 把Python脚本从文件资源管理器(Explorer或Finder)拖曳到notebook界面上。vectorsum.py文件(NumPy Beginner’s Guide中的例程)被拖曳到notebook界面后的屏幕截图如下所示:
- 点击Upload按钮导入该脚本程序。如下图所示,IPython可以很好地完成导入工作,但不幸的是所有的代码都被放置在了一个单元格中,至少在本书写作的时候还是这样的状况。
- 给脚本添加标签,使其能显示在多个单元格中。
为了能把代码分开放置到多个单元格中,需要使用特别的标签。这些标签实际上是Python的注释,看上去有点像XML标签。需要在代码的起始位置添加如下标签:
# <nbformat>2</nbformat>
该标签指明了notebook标签格式的版本号。每个新的代码单元都用如下标签进行标记:
# <codecell>
标记后的代码如下所示:
# <nbformat>2</nbformat>
#!/usr/bin/env/python
from datetime import datetime
import numpy
"""
NumPy Beginner's Guide第1章例程
本程序演示了在Python中怎样实现向量的加法。
在命令行界面中运行如下命令
python vectorsum.py n
n是整数,表示向量的长度。
第1个向量中放的是0到n的平方。
第2个向量中放的是0到n的立方。
程序会显示加法运算结果中的最后2个向量元素和该计算过程所耗费的时间。
"""
def numpysum(n):
a = numpy.arange(n) ** 2
b = numpy.arange(n) ** 3
c = a + b
return c
def pythonsum(n):
a = range(n)
b = range(n)
c = []
for i in range(len(a)):
a[i] = i ** 2
b[i] = i ** 3
c.append(a[i] + b[i])
return c
# <codecell>
size = int(50)
# <codecell>
start = datetime.now()
c = pythonsum(size)
delta = datetime.now() - start
print "The last 2 elements of the sum", c[-2:]
print "PythonSum elapsed time in microseconds", delta.microseconds
# <codecell>
start = datetime.now()
c = numpysum(size)
delta = datetime.now() - start
print "The last 2 elements of the sum", c[-2:]
print "NumPySum elapsed time in microseconds", delta.microseconds
依据标签所在的位置,代码被分解到了多个单元格中,如下图所示。