2015-01-06 75 views
0

我需要讓我的python應用商店在我已經在GAE上的GCS存儲桶上創建的文件中存儲一些文本。使用在GAE上運行的python編寫文本文件

所有我發現的文件至今佔地面積比我的簡單的使用情況更復雜的例子,我越來越無所適從。

我真正想要做的是是找到對GCS以下(包括GCS需要複製這個任何可能進口)的等價物:

with open("../somedir/somefile.txt", "a") as myfile: 
    myfile.write("appended text") 

任何建議?

回答

5

你不能修改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) 

只是寫:

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")