我正在尝试基本上在AWS Lambda中写入文件。 这是我的analytics.py脚本,用于分析文件并写入Lambda。
from main import Analyzer
import argparse
import sys
# Takes helper functions from main.py and prints filament usage and print time
def parse_args():
parser = argparse.ArgumentParser(description="Gcode Info Extractor")
parser.add_argument('path', type=str)
return parser.parse_args()
def giveInput():
args = '/tmp/' + 'output.gcode'
#path = '/tmp/' + args.path
analyzer = Analyzer(args)
time = analyzer.get_time()/60
filUsage = analyzer.get_filament_usage()
# Lambda issues, so going to try to make the return of this function simply the two variables I need..
neededInput = "%.2f, %s" %(filUsage, time)
return (neededInput)
{
"errorMessage": "[Errno 2] No such file or directory: '/tmp/output.gcode'",
"errorType": "FileNotFoundError",
"stackTrace": [
[
"/var/task/lambda_function.py",
20,
"pp_handler",
"data = giveInput()"
],
[
"stl2gcode/analyze.py",
14,
"giveInput",
"analyzer = Analyzer(args)"
],
[
"stl2gcode/main.py",
45,
"__init__",
"self.__process()"
],
[
"stl2gcode/main.py",
57,
"__process",
"with open(self.__file_path, \"r\") as fp:"
]
]
}
问题是,当我错误地在Lambda上的我的部署包中包含了output.gcode文件时,仅阅读该文件就没有问题。但是我的问题是何时写入该文件。
我编写该文件的方式是通过一个名为mandoline_py
的库
我执行以下命令:
mandoline -o /tmp/output.gcode -n /tmp/input.stl
问题不在于库,因为当我尝试在我的GiveInput()函数中使用“ input.stl”而不是“ output.gcode”时,Lambda发现的文件没有问题。知道我能做什么吗?