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

Python AWS Lambda将列表写入txt文件时报只读文件系统错误

报错原因

AWS Lambda运行环境的文件系统默认是只读挂载的,仅/tmp目录开放写入权限。你在代码中直接使用相对路径创建upload.txt,实际是在只读的工作目录下操作,和你是新建文件还是修改已有文件没有关系,只要写入路径不在/tmp下就会触发这个只读报错。

另外你原有代码还有一个隐藏问题:写完内容后文件指针停在文件末尾,直接把文件对象传给requests上传的话,会读到空内容,需要手动把指针移回文件开头。

修正后的实现代码
import requests

my_list = ['hello', 'world', 'good', 'morning']
# 写入路径必须指定为/tmp目录下
upload_file_path = "/tmp/upload.txt"
with open(upload_file_path, "w+") as a_file:
    # 逐行写入列表元素
    for item in my_list:
        a_file.write(f"{item}\n")
    # 将文件指针重置到开头,避免上传空文件
    a_file.seek(0)
    file_dict = {"upload.txt": a_file}
    # 执行上传请求
    response = requests.post(url, files=file_dict)
额外注意事项
  • Lambda默认给/tmp目录分配的存储空间是512MB,可根据需求在函数配置中最高调整到10GB
  • Lambda的执行实例可能会被后续请求复用,/tmp目录下的残留文件会被保留,不需要的临时文件建议用完主动删除,避免出现脏数据或空间不足问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 00:03:49