Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.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 drive中打开文件吗?_Python_Google Drive Api - Fatal编程技术网

我们可以使用python以读取模式在google drive中打开文件吗?

我们可以使用python以读取模式在google drive中打开文件吗?,python,google-drive-api,Python,Google Drive Api,我想以读取模式读取google drive中的文件。我们可以使用驱动API以读取模式打开它而不是下载它吗 我的文件夹结构 user >1 >1.json 在这个例子中,我一直到我的json文件,现在我需要读取.json中的文件内容,而不是下载。 通常,我们在python中使用带有open('1.json')的作为f:,但如何使用驱动API读取和存储内容?您所问的是不可能的,您无法在不下载实际文件的情况下读取文件的信息。如果你仔细想一想,你会发现,在没有进入你的

我想以读取模式读取google drive中的文件。我们可以使用驱动API以读取模式打开它而不是下载它吗

我的文件夹结构

user
    >1 
      >1.json
在这个例子中,我一直到我的json文件,现在我需要读取.json中的文件内容,而不是下载。
通常,我们在python中使用带有open('1.json')的
作为f:
,但如何使用驱动API读取和存储内容?您所问的是不可能的,您无法在不下载实际文件的情况下读取文件的信息。如果你仔细想一想,你会发现,在没有进入你的计算机之前就准备好字节是没有意义的

如果您的意思不是创建实际的文件,您可以尝试使用该模块并将其存储在内存中

事实上,以下是一些例子:

在本例中,我们使用方法创建
请求
,而不执行它,然后将请求引入,此类负责将数据分块(如果文件很大)下载到该代码段中的对象
fh


现在我考虑一下,在这种情况下,当文件足够小时,您可能只需要执行get_media请求,而不需要对下载进行分块

因此,在您的情况下,可能只需执行以下代码

    service = build('drive', 'v3', credentials=creds)

    file_id = "<your file ID> "
    response = service.files().get_media(fileId=file_id).execute()

    print(response)
service=build('drive','v3',credentials=creds)
file_id=“”
response=service.files().get_media(fileId=file_id).execute()
打印(答复)
{

乔拉:“萨达”

saas:123

}


你能解释一下在阅读模式下打开是什么意思吗?是否只想获取元数据?在使用该方法的python中,您不是下载文件,而是读取元数据。如何使用get()函数?我尝试了result=service.files().get(file_id).execute()。这不起作用那么当我们点击一个文件时,谷歌硬盘怎么能向我们显示它的内容呢?我的动机是只读取json文件内容而不下载它。每次你想查阅文件以实际下载所需数据时,你的浏览器(客户端)实际上都会向谷歌(服务器端)发出请求。如果文件足够大,您可能无法看到。问题是,实际上并不是在硬盘上制作文件,而是更可能将数据存储到内存中供您查看。如前所述,您不需要创建实际的文件,但您将无法使用
open
note上下文管理器(
with
语句)。你可以下载到一个流中(如上图所示)并从那里读取数据。在上面的程序中,为什么数据是以字节存储的?我不能使用io.StringIo()方法吗?在执行你的程序时,我得到了以下错误。“用户尚未授予应用程序692085646907对文件1BPFDYI8FO1OFITWFVD9CM9YLUY7DUAR的读取权限。”您介意解释一下该程序吗?通过查看,我无法确定哪个变量存储数据?很抱歉,我误解了您的问题。在这种情况下,如果是JSON,您可以将它们下载到一个string对象中,执行请求。我还在第一段代码中添加了一些解释。这应该对你有用。
    service = build('drive', 'v3', credentials=creds)

    file_id = "<your file ID> "
    response = service.files().get_media(fileId=file_id).execute()

    print(response)