def get_config_files(self):
dict_path = 'word.pkl'
self.kw_ns = ConfigParser()
self.kw_ns.add_section('Paths')
self.kw_ns.set('Paths','new_df1','gs://'+filepath, encoding='utf-8')
self.kw_ns.set('Paths','dictionary','gs://'+dict_path)
new_df1 = pd.read_csv(self.kw_ns.get('Paths','new_df1'))
dict = pickle.load(open(self.abs_path+self.kw_ns.get('Paths','dictionary'), 'rb'))
我无法读取csv或pickle文件,因为它会抛出文件未找到错误。我安装和导入了熊猫0.25版和gcsfs。关于如何实现的任何指针
您可以通过以下任意一种方式访问Google云存储(GCS):
gsutil
命令行调用,以将本地文件复制到GCS或从GCS复制本地文件。在这种情况下,您提供gs://
路径名。 (在Python 3中,我将使用subprocess
内置库进行外壳处理。在Python 2中,我将使用从PYPI安装的subprocess32
库,该库是同一个库的向后移植版本,带有错误)修复。)gcsfuse
,运行它以将GCS存储桶(可以选择缩小到特定的子目录)安装到本地目录。然后读取/写入该本地目录中的文件。gs://
路径名实现为您可以使用Python文件I / O打开,读取或写入的某种特殊路径名。GCS实际上是一个平面对象存储,而不是文件系统。例如。它不支持文件同时读取和写入。只是原子读取或写入Blob。
GCS实际上没有目录,只有包含斜杠字符的路径。使用gcsfuse
,您可以使用--implicit-dirs
来安装存储桶,在这种情况下,它会伪造目录(并且运行非常缓慢),否则,您必须拥有“目录占位符”(名称长度为/
的0长度对象) )。如果没有--implicit-dirs
,它将在某些操作期间创建占位符,但什至看不到没有它们的“子目录”。
即使gcsfuse
尽力弥合差距,也请阅读gcsfuse
文档,以了解语义与文件系统的区别。
您不能直接将GCS视为文件系统。您最接近的是使用gcsfuse
支架时。