目录
%run
是 Jupyter Notebook 中的一个强大工具,它允许你运行 Python 脚本或 Jupyter Notebook 的其他部分,并将它们的变量、函数和类导入到当前的会话中。以下是 %run
命令的详细说明和常见用法。 基本用法
运行 Python 脚本
使用以下命令来运行一个 Python 脚本:
%run script.py
这将导入 script.py
中定义的所有变量、函数和类。
运行 Jupyter Notebook 的其他单元格
通过以下命令来运行另一个 Jupyter Notebook:
%run other_notebook.ipynb
这将导入 other_notebook.ipynb
中定义的所有代码、变量、函数和类。
传递命令行参数
如果需要,可以在 %run
命令后添加参数:
%run script.py arg1 arg2
这些参数将作为 sys.argv
列表的一部分在脚本中处理。
示例
运行 Python 脚本示例
假设有一个脚本 example.py
:
# example.py
def greet(name):
print(f"Hello, {name}!")
greet("Alice")
在 Jupyter Notebook 中运行它:
%run example.py
输出将是:
Hello, Alice!
运行其他 Jupyter Notebook 示例
如果有一个 other_notebook.ipynb
,运行它:
%run other_notebook.ipynb
传递命令行参数示例
如果 example.py
修改为接受命令行参数:
# example.py
import sys
def greet(name):
print(f"Hello, {name}!")
if __name__ == "__main__":
greet(sys.argv[1])
在 Jupyter Notebook 中运行并传递参数:
%run example.py Bob
输出将是:
Hello, Bob!
注意事项
- 使用
%run
命令时,所有脚本或笔记本中的代码都将在当前 Jupyter Notebook 会话中执行。 - 如果执行过程中出现错误,
%run
命令将中断并显示错误信息。
与 import
命令的区别
虽然 %run
和 import
都可以加载代码,但它们有不同的用途和行为:
%run
- 是 Jupyter Notebook 的专用魔术命令。
- 用于直接运行外部 Python 脚本文件。
- 执行后,脚本中定义的内容将在当前 Notebook 环境中可用。
- 通常用于加载辅助性代码或设置。
import
- 是 Python 的标准语法,用于引入模块或包。
- 导入的模块在整个 Python 会话中可用。
- 通常用于加载需要在代码中多次使用的库或模块。
结论
根据你的具体需求,在 Jupyter Notebook 中选择使用 %run
或 import
。%run
更适合运行独立的脚本,而 import
适用于引入可重用的模块。