我在Flask中有一个函数,它可以进行一些Web抓取并将内容放入HTML文件中。
@app.route('/something')
def something():
web_scraping()
return render_template('myFile.html')
[C0函数将一些HTML代码输出到web_scraping
,并且在本地运行时效果很好,但是当我将其放在Google App Engine上时,出现此错误:
myFile.html
IOError: [Errno 30] Read-only file system: 'templates/myFile.html'
为什么我不能写这个文件?
由于以下原因,App Engine不支持写入本地文件应用程序的分布式性质。相反,必须持久化应存储在分布式数据存储中。欲了解更多信息,请参阅运行时沙箱上的文档
但是,您仍然可以编写文件:
在App Engine中,您的应用程序已部署的本地文件系统to是不可写的。此行为可确保安全性和您的应用程序的可伸缩性。
但是,如果应用程序需要在运行时写入和读取文件,App Engine提供了内置的Google Cloud Storage流包装器允许您使用许多标准的PHP文件系统功能在App Engine PHP应用程序中读写文件。