Python &引用;IOError:[Errno 30]只读文件系统“;谷歌应用程序引擎中的错误

Python &引用;IOError:[Errno 30]只读文件系统“;谷歌应用程序引擎中的错误,python,google-app-engine,flask,ioerror,Python,Google App Engine,Flask,Ioerror,我在Flask中有一个函数,它执行一些web抓取并将内容放入HTML文件中 @app.route('/something') def something(): web_scraping() return render_template('myFile.html') 函数web\u scraping将一些HTML代码输出到myFile.HTML中,在本地运行时效果很好,但当我将其放在Google App Engine上时,我发现以下错误: IOError: [Errno 30]

我在Flask中有一个函数,它执行一些web抓取并将内容放入HTML文件中

@app.route('/something')
def something():
    web_scraping()
    return render_template('myFile.html')
函数
web\u scraping
将一些HTML代码输出到
myFile.HTML
中,在本地运行时效果很好,但当我将其放在Google App Engine上时,我发现以下错误:

IOError: [Errno 30] Read-only file system: 'templates/myFile.html'

为什么我不能写入这个文件

应用引擎中不支持写入本地文件,原因是 应用程序的分布式特性。相反,数据必须是 持久化应存储在分布式数据存储中。更多 有关详细信息,请参阅运行时沙盒上的文档

但是,您仍然可以编写文件:

在应用程序引擎中,部署应用程序的本地文件系统 to是不可写的。这种行为确保了安全性和可靠性 应用程序的可伸缩性

但是,如果应用程序需要在运行时写入和读取文件, appengine提供了一个内置的Google云存储流包装器 这允许您使用许多标准PHP文件系统函数 在应用程序引擎PHP应用程序中读取和写入文件

为什么我不能写入这个文件

应用引擎中不支持写入本地文件,原因是 应用程序的分布式特性。相反,数据必须是 持久化应存储在分布式数据存储中。更多 有关详细信息,请参阅运行时沙盒上的文档

但是,您仍然可以编写文件:

在应用程序引擎中,部署应用程序的本地文件系统 to是不可写的。这种行为确保了安全性和可靠性 应用程序的可伸缩性

但是,如果应用程序需要在运行时写入和读取文件, appengine提供了一个内置的Google云存储流包装器 这允许您使用许多标准PHP文件系统函数 在应用程序引擎PHP应用程序中读取和写入文件


/tmp
解决方案就像一个符咒。最重要的是使用
os.remove
函数在工作完成后立即删除文件(或使用您的语言的等效文件)。只需使用您的常规云文件库,编写类似
fhandler.write(“\tmp\{}.format())
的内容,然后完全删除所有文件和目录。检查此链接:@DarrenZouThe
/tmp
解决方案就像一个符咒。最重要的是使用
os.remove
函数在工作完成后立即删除文件(或使用您的语言的等效文件)。只需使用您的常规云文件库,编写类似
fhandler.write(“\tmp\{}.format())
的内容,然后完全删除所有文件和目录。检查此链接:@DarrenZou