# Google Colab 掛載 Google Drive 的相關操作 - Simple is best ###### tags: `IT` 我的論文實驗環境以 Google Colab 與 Google Drive 搭配建置,之前在這件事踩了不少雷也做了不少功課,看了很多無法 work 或是寫的很複雜的 blog。前幾天看到朋友在分享相關操作的 blog、但其實該篇文章內容其實還是很繁瑣,所以把自己的東西記錄一下、分享出來,簡單才是最好的。 <h1> 掛載 Google Drive </h1> ``` from google.colab import drive import os datasetFolder='/content/gdrive/My Drive/***Folder name***/' drive.mount('/content/gdrive') os.chdir(datasetFolder) ``` 嗯,就這樣而已,只需要 import 一個東西就夠了,不需要像一堆 blog 上 import 一堆有的沒的。 實際掛載時,會被詢問驗證碼,這部份目前我還沒看到自動化或是可以避免/預授權的方法。 在目錄切換作業上,我建議用 os.chdir 而不要用 !搭配 OS 指令操作,因為容易有非預期結果。 OS module 支持的指令很有限,但基本上夠用了。 <h1> 讀取與檔案操作 </h1> 要怎麼讀取當下的目錄的所有檔案並操作? ``` tList = !ls *csv ``` 就這樣,也不完全是這樣。 !ls 要加什麼,看你的需求,因為我實驗產出的結果是 CSV 格式,所以我用 \*CSV 來過濾。 而 tList 就將傳回值視為一個陣列,以"印出的樣式"為準,一行就是一個陣列元素。 > 所以有人可能會發現這邊有雷! > !ls 回傳的結果是不確定的,有時輸出是一行一個檔案名稱,有時是一行多個檔案名稱。 > 這樣的影響就是 tList 的內容可能有非預期結果 -- 我們想要的是一個檔案被視為一個元素,但"當檔案數量較多時",容易發生一個元素有多個檔案名稱,並且中間混雜不定數量的 \t 與空白字元。所以要記得用 re 將 \t 與空白進行處理。 然後,就可以直接以迭代方式對檔案進行處理了,方式與一般檔案 IO 無異。