Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Google App Engine上托管的脚本中使用外部静态数据文件?_Python_Google App Engine - Fatal编程技术网

Python 如何在Google App Engine上托管的脚本中使用外部静态数据文件?

Python 如何在Google App Engine上托管的脚本中使用外部静态数据文件?,python,google-app-engine,Python,Google App Engine,我有一个托管在Google App Engine上的Python脚本来访问Twitter API并存储结果 我有一个静态csv文件(在我的本地机器上),其中包含我想从中收集数据的所有twitter帐户的名称 如何使此文件可供托管在Google App Engine上的脚本访问?静态CSV应与任何其他python源文件一样可上载。注意,不要将其作为文件上传——这些文件通常来自不同的位置,并且您的代码无法访问它们1 要打开/读取静态CSV,您需要使用相对路径。e、 g.如果您的目录如下所示: foo

我有一个托管在Google App Engine上的Python脚本来访问Twitter API并存储结果

我有一个静态csv文件(在我的本地机器上),其中包含我想从中收集数据的所有twitter帐户的名称


如何使此文件可供托管在Google App Engine上的脚本访问?

静态CSV应与任何其他python源文件一样可上载。注意,不要将其作为文件上传——这些文件通常来自不同的位置,并且您的代码无法访问它们1

要打开/读取静态CSV,您需要使用相对路径。e、 g.如果您的目录如下所示:

foo
 | - script.py
bar
 | - data.csv
from google.appengine.api import urlfetch

csv_url = 'https://docs.google.com/spreadsheets/d/<key>/export?format=csv'

csv_response = urlfetch.fetch(csv_url, allow_truncated=True) 

if csv_response.status_code == 200:
  row_list = csv_response.content.split('\n')
  for row in row_list:
    item_list = row.split(',')

    do stuff
然后要从
script.py
读取
data.csv
,您可以执行以下操作:

import os
data_csv_filename = os.path.join(
    os.path.dirname(__file__), 'bar', 'data.csv')
with open(data_csv_filename) as data_csv_file:
    ...

1如果您真的想提供csv文件并让您的应用程序读取数据,您也可以在
app.yaml
中将其设置为“应用程序可读”…

如果您不想处理每次更改csv文件时上传代码带来的不便,您可以将其作为谷歌表单进行维护,每个单元格一个值。将其发布到web。然后,像这样将其读入你的应用程序:

foo
 | - script.py
bar
 | - data.csv
from google.appengine.api import urlfetch

csv_url = 'https://docs.google.com/spreadsheets/d/<key>/export?format=csv'

csv_response = urlfetch.fetch(csv_url, allow_truncated=True) 

if csv_response.status_code == 200:
  row_list = csv_response.content.split('\n')
  for row in row_list:
    item_list = row.split(',')

    do stuff
从google.appengine.api导入urlfetch
csv_url=https://docs.google.com/spreadsheets/d//export?format=csv'
csv\u response=urlfetch.fetch(csv\u url,allow\u truncated=True)
如果csv_response.status_code==200:
行\u列表=csv\u响应.content.split(“\n”)
对于行列表中的行:
项目列表=行分割(','))
做事