雲端硬碟根目錄底下
有一個python資料夾
(非Python,會區分大小寫)
內容如下:
colab如何掛載雲端硬碟?
搜尋某資料夾底下有那些檔案?
code:
import os
from google.colab import drive
# 掛載Google雲端硬碟
drive.mount('/content/drive')
# 移動到Python目錄
%cd /content/drive/MyDrive/python
# 指定 Python 資料夾路徑
python_folder = "/content/drive/MyDrive/python"
# 列出資料夾中的所有檔案
files = os.listdir(python_folder)
# 檢查每個檔案的副檔名
for file in files:
file_name, file_ext = os.path.splitext(file)
print("檔案名稱:", file_name)
print("副檔名:", file_ext)
%cd
是在 Google Colab 環境中使用的魔術指令(Magic Command),用於更改當前的工作目錄。
在 Google Colab 中,魔術指令以 %
符號開頭,用於執行特殊的命令或控制 Colab 環境的行為。%cd
魔術指令用於更改目前的工作目錄。
請注意,魔術指令是特定於 Jupyter 環境(包括 Google Colab)的功能,而不是 Python 語言本身的一部分。這些指令提供了額外的便利功能,例如更改工作目錄、安裝套件、顯示圖表等。
在Colab中,'/content/drive'
是Google雲端硬碟的預設掛載位置。這個路徑代表Colab環境中的根目錄,其中 /content
是Colab的基本路徑,/drive
是將Google雲端硬碟掛載的位置。
簡單來說,'/content/drive'
表示Google雲端硬碟在Colab中的掛載點。當你使用 drive.mount('/content/drive')
這樣的程式碼時,它會將Google雲端硬碟掛載到 /content/drive
的位置,使你可以訪問和操作Google雲端硬碟中的檔案和資料夾。
你可以在 /content/drive
路徑下找到你的Google雲端硬碟內容,並根據需要進行檔案操作。請確保指定的路徑和資料夾名稱是正確的,以確保能夠正確訪問你的目標資源。
在 /content/drive/MyDrive
路徑下,你可以找到 Google 雲端硬碟的根目錄,其中包含了你的所有資料夾和檔案。這個根目錄就是你的 Google 雲端硬碟的主要儲存空間,擁有你的個人資料和文件。
因此,當你使用 '/content/drive/MyDrive/python'
這樣的路徑時,它指的是 Google 雲端硬碟根目錄底下的 python
資料夾。你可以在這個資料夾中存取和操作檔案。
輸出結果:
放大輸出結果:
在Google雲端硬碟上,
Google文件的副檔名在檔案名稱中是隱藏的
現在知道Google文件建立的檔案
其副檔名為.gdoc
shutil
是 “shell utilities” 的縮寫。它是 Python 標準函式庫中的一個模組,提供了一組高階的檔案操作功能,讓你可以執行各種檔案和資料夾的操作,類似於 shell 中的一些指令和功能。
shutil
模組的目的是提供一個跨平台的介面,方便使用者在不同的作業系統上執行檔案操作。它提供了許多函式,例如複製檔案 (shutil.copy()
),移動檔案或資料夾 (shutil.move()
),刪除整個資料夾 (shutil.rmtree()
),以及其他類似的功能。
“shell” 的中文翻譯通常是「殼層」或「外殼」,指的是一種在作業系統下執行命令和管理系統資源的介面。
在這個情況下,”shell utilities” 的縮寫 shutil
可以翻譯成「殼層工具」或「外殼工具」。然而,在 Python 中,shutil
模組並不是直接與作業系統的殼層介面相關,而是提供一些檔案操作的實用工具。因此,我們可以將 shutil
翻譯成「檔案工具」或「檔案操作工具」,以更貼切地描述該模組的功能。
cmd
(命令提示字元)可以被視為一種Shell。在Windows操作系統中,cmd
是一個命令列介面,用於與操作系統進行互動並執行各種命令和指令。
Shell是操作系統提供的用戶介面,用於執行命令、管理檔案和資料夾、設定系統參數等。cmd
是Windows的默認Shell,在命令提示字元中可以輸入各種指令和命令來執行操作系統的相關任務。
除了cmd
,在Windows中還有其他Shell選項,如PowerShell等。PowerShell是一個強大的命令列介面和腳本語言,提供了更多的功能和彈性。
總結來說,cmd
是Windows中的一個Shell,用於執行命令和指令。它提供了一種與操作系統進行互動的方式。shutil.copy()
函式不支援直接複製 Google 文件(.gdoc)格式的檔案,因為這些檔案實際上是在 Google 雲端上進行處理的。
Google 文件是以線上格式存在的,它們無法直接通過標準的檔案複製操作來處理。shutil.copy()
函式僅支援在本地文件系統中進行檔案的複製。
下載source.gdoc為source.docx後,
再重新上傳
code:
import shutil
# 移動到 Python 目錄
%cd /content/drive/MyDrive/python
# 在此之後,可以存取 python 目錄下的檔案和資料夾
# 複製檔案
source_file = "source.docx"
destination_file = "destination.docx"
shutil.copy(source_file, destination_file)
print("檔案複製成功")
輸出結果:
多出了destination.docx:
shutil.move(source_file, destination_path)
# move()移動可以,
# rmtree()刪除整個資料夾也可以
# shutil.remove (刪除)將觸發AttributeError
destination_folder資料夾多了source.docx:
shutil.rmtree(folder_to_delete)
#刪除整個資料夾
剛才存在的destination_folder
已經整個消失:
如果只要刪除一個檔案,
請使用os.remove()
“destination.docx”已消失:
shutil.remove(file_to_delete)
會觸發AttributeError:
如何將檔案路徑,
拆分為父資料夾與
檔案名稱(含副檔名),
如何拆分檔案名稱為
主檔名 與 副檔名:
#一開始的filename命名為file_path比較好
#file_path拆分為dirname, basename後
#basename又賦值給file_name,名稱很像的變數
#所以一開始的filename包含前面父資料夾的路徑
#後來的file_name又只有basename,
#不含前面父資料夾的路徑
help(os.path.splitext):
Extension is everything from the last dot to the end, ignoring
leading dots. Returns “(root, ext)”; ext may be empty.
函式將檢視檔案路徑中最後一個點 (.) 之後的所有字元,並將其視為副檔名。在這個過程中,它會忽略前面的任何點 (.) 字元。函式的返回值是一個包含兩個元素的元組 (root, ext),其中 root 是檔案路徑去除副檔名後的部分,ext 是副檔名(包括點 . 字元)。
需要注意的是,副檔名可能是空的。這是因為當檔案名稱中沒有點 (.) 字元時,副檔名會被認為是空的。
推薦hahow線上學習python: https://igrape.net/30afN