簡體   English   中英

如何通過google驅動器的鏈接找到文件的類型?

[英]How do I find the type of the file through the link of the google drive?

我的谷歌驅動器中有很多文件。 我想根據它的類型來閱讀它 like.txt,.pdf,.doc 等。我可以單獨閱讀它,但我希望通過使用 if else 或任何其他條件來閱讀。

這是 read.txt 文件的代碼

file_path=link of google drive    
import urllib.request
response = urllib.request.urlopen(file_path)
html = response.read()
text=html.decode('utf8')
print(text)

這是 read.pdf 文件的代碼。

import requests, PyPDF2


url = file_path
response = requests.get(url)
my_raw_data = response.content

with open("my_pdf.pdf", 'wb') as my_data:
    my_data.write(my_raw_data)

open_pdf_file = open("my_pdf.pdf", 'rb')
read_pdf = PyPDF2.PdfFileReader(open_pdf_file)
if read_pdf.isEncrypted:
    read_pdf.decrypt("")
    print(read_pdf.getPage(0).extractText())

else:
    print(read_pdf.getPage(0).extractText())

現在我想給出一個條件,如果文件類型是.txt,那么它將相應地讀取,如果文件類型是.pdf,那么它將像這樣讀取 pdf。

那么,如何通過條件找到文件的類型並在一個代碼中讀取所有類型的文件呢?

我不是 100% 確定我明白你想做什么。

如果您只想獲取特定 mime 類型的文件,則可以使用files.list方法的 q 參數按 mimeType 搜索文件

mimeType='application/vnd.google-apps.document'

像這樣的東西

    response = service.files().list(q=f"mimeType = 'application/vnd.google-apps.document'",
                                    fields='nextPageToken, files(id, name)'
).execute()

您也可以使用單個 file.list 請求來執行此操作,然后檢測每個文件的 mime 類型。 即返回。

 "files": [
  {
   "kind": "drive#file",
   "id": "1x8-vD-XiXEEA5Spf3qp8x2wltablGF22Lpwup8VtxNY",
   "name": "Experts Activity Dump go/ExpertsActivities",
   "mimeType": "application/vnd.google-apps.spreadsheet"
  },

根據返回的文件的 MIME 類型,您可以使用不同的打開方法。 請記住,您將無法以這種方式打開某些文件類型。 任何驅動器類型,如表格和文檔,您都需要先導出,然后以您可以處理的格式打開它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM