【问题标题】:makedirs error: can GAE Python create new directories (folders) or not?makedirs 错误:GAE Python 能否创建新目录(文件夹)?
【发布时间】:2013-03-19 22:52:51
【问题描述】:

我看到了许多与使用 Python 和 GAE 编写文件和创建新目录有关的问题,但其中一些人总结(不仅在 SO 上)说 Python 不能 写入文件或创建新目录。然而这些命令是存在的,而且很多其他人似乎在写文件和打开目录也没问题。

我正在尝试写入 .txt 文件并创建文件夹并收到以下错误:

案例#1:

with open("aardvark.txt", "a") as myfile:
    myfile.write("i can't believe its not butter")

产生“IOError: [Errno 30] Read-only file system: 'aardvark.txt'”。但我检查过,它的 def-o 不是只读文件。

案例#2:

folder = r'C:\project\folder\' + str(name)
os.makedirs(folder)

产生“OSError: [Errno 38] Function not implemented: 'C:\project\folder'”

我错过了什么?

【问题讨论】:

    标签: python google-app-engine python-2.7 file-io directory


    【解决方案1】:

    AppEngine 现在可以在使用托管虚拟机时写入本地“临时”磁盘存储,但在使用本文档中指定的沙盒方法时不受支持:

    https://cloud.google.com/appengine/docs/managed-vms/tutorial/step3

    【讨论】:

      【解决方案2】:

      Appengine 不支持对文件系统的任何写入操作(以及其他限制)。 BlobStore 确实有一个类似 api 的文件,但您不能重写/附加到现有的 Blob 存储实体。开发服务器还提供这些限制以模拟生产环境。

      您可能应该阅读一些有关 appengine 的文档。 概述文档https://developers.google.com/appengine/docs/python/overview 明确指出您不能写作。

      【讨论】:

      • 好的,谢谢 Tim,这非常清楚 - 我一定会阅读该链接。后续必须是……那么os.makedirsfile write 函数是什么?
      • 完全按照他们所说的做的一般 python 方法。然而,运行时/沙箱由于许多原因与在普通服务器上运行不完全相同。无法通过运行代码写入本地文件系统是一种很好的安全措施。
      • 除了GAE之外还有什么建议去哪里获得免费托管和文件编写能力???
      猜你喜欢
      • 1970-01-01
      • 2019-10-14
      • 1970-01-01
      • 1970-01-01
      • 2013-04-19
      • 2012-07-24
      • 2012-12-17
      • 1970-01-01
      • 2014-10-12
      相关资源
      最近更新 更多