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

如何在Python代码中创建可运行的.py文件?not writable报错如何解决

错误原因

  • open() 函数默认使用 r(只读)模式打开文件,该模式仅支持读取操作,调用write()写入内容时就会触发 io.UnsupportedOperation: not writable 报错。

修复方法

基础修复

直接在open的第二个参数指定写入模式即可,普通覆盖写入用w模式,文件不存在时会自动创建,文件已存在时会清空原有内容后写入:

def makeFile():
    # \n 代表换行符,\t 代表制表符,写入文件时会自动转换为对应格式
    contents = "import JustIRC\nimport requests\n\ndef run():\n\tprint('程序正常运行')"
    # 指定w写入模式,补充encoding参数避免跨系统编码乱码
    file = open('py.py', 'w', encoding='utf-8')
    file.write(contents)
    file.close()

更稳妥的写法(推荐)

使用with上下文管理器操作文件,不需要手动调用close(),就算代码运行出现异常也会自动关闭文件,避免资源泄露:

def makeFile():
    contents = "import JustIRC\nimport requests\n\ndef run():\n\tprint('程序正常运行')"
    with open('py.py', 'w', encoding='utf-8') as file:
        file.write(contents)

换行、制表符说明

Python字符串内的转义符会直接被正确写入文件:

  • \n 对应换行符,用于实现代码的换行
  • \t 对应制表符,用于实现Python要求的缩进格式,保证生成的代码语法合法可运行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 09:12:06