Python &引用;IOError:[Errno 30]只读文件系统“;谷歌应用程序引擎中的错误
我在Flask中有一个函数,它执行一些web抓取并将内容放入HTML文件中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]
@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