使用在GAE上运行的python写入文本文件

zan*_*nzu 0 python google-app-engine google-cloud-storage

我需要让我的python应用程序商店在我已经在GAE上的GCS存储桶上创建的文件上存储一些文本.

到目前为止,我发现的所有文档都包含了比我的简单用例更复杂的例子,而且我变得迷失方向.

我真正想做的就是在GCS上找到以下内容的等价物(包括在GCS上复制它所需的任何可能的导入):

with open("../somedir/somefile.txt", "a") as myfile:
    myfile.write("appended text")
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

Rya*_*yan 6

您无法修改GCS中的文件.一旦他们被关闭,那就是它.要追加我会这样做:

import cloudstorage
from google.appengine.api import app_identity


bucketName = app_identity.get_default_gcs_bucket_name()

class MainPage(webapp2.RequestHandler):

    def get(self):

        fileName = "/" + bucketName + "/somedir/somefile.txt"

        try:
            with cloudstorage.open(fileName, "r") as gcsFile:
                tempStorage = gcsFile.read()
                tempStorage += "\n"
        except:
            tempStorage = ""

        with cloudstorage.open(fileName, "w") as gcsFile:
            gcsFile.write(tempStorage + "appended text")

        with cloudstorage.open(fileName, "r") as gcsFile:
            output=  gcsFile.read()  
        self.response.out.write(output)
Run Code Online (Sandbox Code Playgroud)

只写:

import cloudstorage
from google.appengine.api import app_identity

bucketName = app_identity.get_default_gcs_bucket_name()
fileName = "/" + bucketName + "/somedir/somefile.txt"

with cloudstorage.open(fileName, "w") as gcsFile:
            gcsFile.write("text")
Run Code Online (Sandbox Code Playgroud)