本节介绍 Python 文件(
.py)在 Studio 中的运行流程:从连接 Kernel、运行整文件,到与文件系统交互、查看结果与日志。Python 文件运行模型与 Notebook 高度一致,差异在于运行粒度(整文件 vs 单元格)。概述
Python 文件运行模型:
一个 Python 文件对应一个 内核(Kernel) ,与 Notebook 共用相同的 Kernel 模型。
运行整文件即按顺序执行所有代码;选中片段则在交互式 REPL 中执行选中部分。
同样支持
dlcutils 函数库与 pip install 安装依赖。前提条件
当前工作空间已绑定 作业集群型 计算资源(DLC Spark MLlib)。详见 计算资源概述。
您具备当前 Python 文件的「运行」「编辑」或「管理」权限。
操作步骤
步骤 1:连接 Kernel
1. 打开 Python 文件。
2. 编辑器右上角单击 未连接 ,进入新建 Kernel 弹窗。
3. 填写参数(参数项与 Notebook 一致,详见 Notebook 运行)。
4. 单击 确定 。状态变为「计算资源名称(已连接)」。
步骤 2:运行 Python 文件
方式 | 入口 | 行为 |
全部运行 | 操作栏 全部运行 | 按文件从头到尾顺序执行所有代码,等价命令行 python file.py。 |
运行选中 | 选中代码后 ⌘ + Enter | 在交互式 REPL 中执行选中片段,变量保留供后续选中运行使用。 |
停止 | 操作栏 停止 | 终止当前运行。 |
提示
「全部运行」每次都是新的进程,文件中变量在运行结束后不保留。「运行选中」共享同一 REPL,变量持续可用。
步骤 3:与文件系统交互
3.1 增删改查文件
import osimport shutil# 创建文件夹os.makedirs('your_folder/sub', exist_ok=True)# 复制文件shutil.copy('your_folder/data.csv', 'your_folder/sub/data_copy.csv')# 删除文件os.remove('your_folder/sub/data_copy.csv')
3.2 读取 CSV / JSON
import pandas as pd# CSVdf = pd.read_csv('your_folder/data.csv')# JSONimport jsonwith open('your_folder/config.json', 'r') as f:config = json.load(f)
文件路径以当前文件所在目录为基准,或使用绝对路径
/workspace_1/your_username/your_folder/data.csv。3.3 跨文件引用
支持
import 同工作空间下其他 .py 模块:from utils import add_numbersresult = add_numbers(1, 2)
步骤 4:处理运行结果
运行结果显示在编辑器下方,分为以下区域:
区域 | 说明 |
输出 | print(...)、异常栈、display(df) 表格结果。 |
日志 | Spark 执行日志、错误堆栈、详细运行信息。 |
运行信息 | 运行人、运行时间、运行耗时、所用资源。 |
表格结果交互
调用
display(df) 后下方以表格展示,支持的操作与 Notebook 一致:复制、下载(CSV / Excel / TXT)、排序、筛选、字段显示控制等。详见 Notebook 运行 > 处理运行结果。步骤 5:管理环境
%pip install pandas==2.2.0 jieba
或在 Shell 单元格中:
%shpip install -r requirements.txt
步骤 6:切换或释放 Kernel
使用限制
Python 文件运行仅支持使用 作业集群类型 计算资源。
「全部运行」每次启动新进程,变量与
pip install 安装的依赖在运行结束后丢失(依赖在会话级保留)。Python 文件不支持单元格交互;如需逐段调试,请使用 Notebook 文件。
常见问题
Q1:选中代码运行后,变量为什么在「全部运行」时取不到?
「全部运行」是独立进程,与「运行选中」的 REPL 不共享变量。请将变量定义放在文件中,或在「全部运行」前先在 REPL 中执行初始化。
Q2:报「ModuleNotFoundError: utils」?
检查
utils.py 是否与当前文件在同一目录。跨目录引用需要确保父目录是 Python 包(包含
__init__.py)。在文件目录中右键 复制相对路径 确认实际路径。
Q3:如何调度 Python 文件?
方式 1:在 Workflow 中创建 Python File 任务,引用 Studio 中的
.py 文件。详见 Python File 任务。方式 2:使用
dlcutils.notebook.run 在 Notebook 中跨文件触发(适用于嵌入式调用)。