You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python在Google Colab的指定文件夹中写入文件?

问题根因

你的代码报语法错误是两个问题导致的:

  1. %%writefile是Jupyter环境的单元格级魔法命令,强制要求写在所在单元格的第一行,前面不能放任何其他命令、代码甚至空行,你把!mkdir win放在它前面,魔法命令无法被识别,直接触发语法错误。
  2. 就算魔法命令正常生效,你写的%%writefile dosa_bce_win.py只会把文件写到当前工作根目录,不会自动存入你刚创建的win文件夹,达不到你的预期。
可行解决方案

你可以二选一:

方案1:拆分单元格执行(最符合你原本的书写习惯)

  • 第一个单元格单独执行文件夹创建命令,加参数避免重复创建时报错:
!mkdir -p win
  • 新建第二个单元格,第一行直接写带正确路径的writefile魔法,后面跟你要写入的py文件全部内容:
%%writefile win/dosa_bce_win.py
# 下方粘贴dosa_bce_win.py的全部代码
import xxx
# 你的业务逻辑
if __name__ == "__main__":
    pass

方案2:单单元格用Python原生逻辑实现(无魔法命令兼容问题)

如果不想拆分单元格,直接用Python内置的文件操作接口就行,不存在魔法命令的位置限制:

import os
# 创建win文件夹,文件夹已存在时不报错
os.makedirs("win", exist_ok=True)

# 把你要写入的py文件内容放在三引号里
py_code = """
# 这里粘贴dosa_bce_win.py的全部代码
import xxx
def your_func():
    return True
"""

# 写入指定路径
with open("win/dosa_bce_win.py", "w", encoding="utf-8") as f:
    f.write(py_code)
注意事项
  • 所有以%%开头的单元格魔法命令,都必须放在单元格最顶部,前面不能有任何内容,否则必然报错。
  • 写入文件时如果要存到子文件夹,必须显式写全路径win/文件名,系统不会自动把文件放到你刚建的文件夹里。

内容的提问来源于stack exchange,提问作者ChillGod

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 21:18:24