在Windows11运行Boto3编写的AWS Lambda代码,/tmp文件夹位置问询
Windows 11 中 /tmp 文件夹的说明及代码适配方案
关于Windows 11里的/tmp路径
Windows 11 没有类Unix系统(比如AWS Lambda运行的Linux环境)原生的 /tmp 目录。如果要在本地Windows环境运行这段代码,你有两种选择:
- 手动创建临时目录:在C盘根目录新建
tmp文件夹,对应路径为C:\tmp,代码里的路径需要改成Windows格式的C:\\tmp\\csv_file.csv(注意反斜杠转义)或者使用原始字符串r'C:\tmp\csv_file.csv'。 - 使用系统默认临时目录:Windows的默认临时目录位于
C:\Users\<你的用户名>\AppData\Local\Temp,你也可以通过环境变量%TEMP%快速访问。代码里可以通过os.environ.get('TEMP')动态获取这个路径,示例:import os temp_dir = os.environ.get('TEMP') csv_path = os.path.join(temp_dir, 'csv_file.csv') csv_object = open(csv_path, 'w+')
代码额外问题修复
除了路径问题,代码里还有一处语法错误:csvwriter_object.writerow方法需要传入一个列表或元组作为参数,当前直接传入多个参数会触发报错,需修改为:
csvwriter_object.writerow([eachinstance.instance_id, eachinstance.instance_type, eachinstance.launch_time, count])
另外,本地运行Lambda的lambda_handler函数时,需要手动传入event和context参数(可传空字典和None),或者单独把业务逻辑抽出来执行。
内容的提问来源于stack exchange,提问作者Jason
相关产品推荐
相关产品推荐

