我使用Flask,Python部署了一个heroku应用程序。在我的脚本中,我将一些变量var regex = new Regex(pattern);
var matches = regex.Matches(input);
var list = new List<string>();
foreach (Match m in matches) {
if (m.Success) {
list.Add(m.Value);
}
}
保存到文件data
。但是,当我params.txt
时,我没有看到任何保存的文件(此处保存的文件是指我在scirpt中创建的文件,即params.txt)。我使用以下方法写入文件
heroku run ls
在脚本的另一部分我正在保存
with open('params.txt', 'a') as the_file:
the_file.write(data)
我也无法看到此文件xg_reg.save_model('train.model')
。我做错了什么?
注意:
- 日志文件中没有错误。
- 它在我的本地计算机上工作得很好,但在服务器上却没有。我们是否需要提供特殊权限才能使脚本在服务器上创建/修改文件?
-Heroku应用程序起点 - app.py位于/ app目录中(/ app目录是Heroku的默认目录。所有用户脚本都进入此目录),我正在此目录上执行train.model
同样。可能是这样的情况:如果我们heroku run ls
,那么它会在其他目录中创建该文件。如果是,那么请回答哪个目录?
不是重复注意
相对而言,这不是一个重复的问题,因为数据没有被重置。只是open('params.txt, 'a')
没有显示脚本生成的文件。但是,如果我运行另一个脚本,我可以访问前一个脚本生成的文件。请在将其标记为重复之前阅读我已链接的问题。 当我从Heroku获得一些更新/评论时,我会更新回复。
答案 0 :(得分:0)
Heroku有短暂的文件系统。在每个请求中都会克隆并销毁新环境,这就是您无法找到在其他请求/实例上创建的文件的原因。您应该将日志文件存储在amazon S3或其他地方。