当前位置: 首页 > news >正文

Jupyter Notebook 中 %run 魔法命令

目录

    • 基本用法
      • 运行 Python 脚本
      • 运行 Jupyter Notebook 的其他单元格
      • 传递命令行参数
    • 示例
      • 运行 Python 脚本示例
      • 运行其他 Jupyter Notebook 示例
      • 传递命令行参数示例
    • 注意事项
    • 与 `import` 命令的区别
      • `%run`
      • `import`
    • 结论

%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 sysdef 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 命令的区别

虽然 %runimport 都可以加载代码,但它们有不同的用途和行为:

%run

  • 是 Jupyter Notebook 的专用魔术命令。
  • 用于直接运行外部 Python 脚本文件。
  • 执行后,脚本中定义的内容将在当前 Notebook 环境中可用。
  • 通常用于加载辅助性代码或设置。

import

  • 是 Python 的标准语法,用于引入模块或包。
  • 导入的模块在整个 Python 会话中可用。
  • 通常用于加载需要在代码中多次使用的库或模块。

结论

根据你的具体需求,在 Jupyter Notebook 中选择使用 %runimport%run 更适合运行独立的脚本,而 import 适用于引入可重用的模块。

相关文章:

  • 高级优化理论与方法(十五)
  • 外网怎么访问内网?
  • 【rabbitmq的消息堆积问题】
  • 【perl】环境搭建
  • Java基础面试重点-3
  • JAVA学习笔记DAY7——Spring_Ioc
  • Java:爬虫htmlunit抓取a标签
  • 【讲解下目标追踪】
  • AWD攻防比赛流程手册
  • 23.3 时间-解析、计算、比较时间
  • iCopy for Mac 剪切板 粘贴工具 历史记录 安装(保姆级教程,新手小白轻松上手)
  • 课设--学生成绩管理系统(二)
  • FinalShell 连接虚拟机超时,主机ping不通虚拟机,解决
  • MongoDB使用$addToSet向数组中添加元素
  • 设备驱动程序和 PCI 电源管理
  • [Vue CLI 3] 配置解析之 css.extract
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • django开发-定时任务的使用
  • Docker容器管理
  • JavaScript创建对象的四种方式
  • Java多态
  • PAT A1092
  • python3 使用 asyncio 代替线程
  • scala基础语法(二)
  • vue 配置sass、scss全局变量
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • Xmanager 远程桌面 CentOS 7
  • 前端代码风格自动化系列(二)之Commitlint
  • 深度学习中的信息论知识详解
  • 我感觉这是史上最牛的防sql注入方法类
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 怎样选择前端框架
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • ​flutter 代码混淆
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • $.ajax()
  • $LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams
  • (2)从源码角度聊聊Jetpack Navigator的工作流程
  • (Git) gitignore基础使用
  • (LeetCode) T14. Longest Common Prefix
  • (二)JAVA使用POI操作excel
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (接口自动化)Python3操作MySQL数据库
  • (每日一问)基础知识:堆与栈的区别
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转)setTimeout 和 setInterval 的区别
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .NET Core 版本不支持的问题
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .Net Winform开发笔记(一)