您好,登錄后才能下訂單哦!
今天小編給大家分享一下Python怎么獲取與處理文件路徑/目錄路徑的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
文件目錄結構說明
使用**os.path.abspath()**獲取當前文件的絕對路徑。
import os file_path = os.path.abspath(__file__) print(file_path)
輸出:
e:\Python\Path\python_path_test.py
使用**os.path.dirname()**獲取當前文件的所在目錄。
import os directory_path = os.path.dirname(os.path.abspath(__file__)) print(directory_path)
輸出:
e:\Python\Path
使用多個**os.path.dirname()**嵌套以獲取當前文件的所在目錄的上一級目錄。
import os parent_directory_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) print(parent_directory_path)
輸出:
e:\Python
使用**os.path.basename()**獲取當前文件的所在目錄。
import os file_name = os.path.basename(__file__) print(file_name)
輸出:
python_path_test.py
使用**os.path.relpath(file_path, base_path)**獲取當前文件對于基準路徑的相對路徑。
import os file_path = os.path.abspath(__file__) #獲取當前文件的絕對路徑 base_path = "E:\Python" #設置基準路徑(計算相對路徑的起始路徑) relative_path = os.path.relpath(file_path, base_path) #計算從基準路徑開始的相對路徑 print("Absolute Path: " + file_path) print("Base Path: " + base_path) print("Relative Path: " + relative_path)
輸出:
Absolute Path: e:\Python\Path\python_path_test.py
Base Path: E:\Python
Relative Path: Path\python_path_test.py
使用**os.path.exists()**判斷路徑是否存在。
import os path = "./data/data_file.txt" is_exists = os.path.exists(path) print(is_exists)
輸出:
True
import os path = "./data/data.txt" is_exists = os.path.exists(path) print(is_exists)
輸出:
False
使用**os.path.isabs()**判斷路徑是否為絕對路徑。
import os path = "E:\Python\Path\data\data_file.txt" is_exists = os.path.isabs(path) print(is_exists)
輸出:
True
import os path = "./data/data_file.txt" is_exists = os.path.isabs(path) print(is_exists)
輸出:
False
使用**os.path.isdir()**判斷路徑是否為目錄。
import os path = "E:\Python\Path\data" is_exists = os.path.isdir(path) print(is_exists)
輸出:
True
import os path = "E:\Python\Path\data\data_file.txt" is_exists = os.path.isdir(path) print(is_exists)
輸出:
False
使用**os.path.isfile()**判斷路徑是否為文件。
import os path = "E:\Python\Path\data\data_file.txt" is_exists = os.path.isfile(path) print(is_exists)
輸出:
True
import os path = "E:\Python\Path\data" is_exists = os.path.isfile(path) print(is_exists)
輸出:
False
使用**os.path.join(path2, path3, ···)**把多個目錄/文件名合并(連接)為一個路徑。
import os path2 = "E:\Python" path3 = "Path\data" path4 = "data_file.txt" path = os.path.join(path2, path3, path4) print(path)
輸出:
E:\Python\Path\data\data_file.txt
使用**os.path.split()**把路徑分割為文件所在目錄路徑(dirname)和文件名(basename)。
import os path = os.path.abspath(__file__) result = os.path.split(path) print(result)
輸出:
('e:\\Python\\Path', 'python_path_test.py')
使用**os.path.splitdrive()**把路徑分割為驅動器名(Windows)和文件路徑。
import os path = os.path.abspath(__file__) result = os.path.splitdrive(path) print(result)
輸出:
('e:', '\\Python\\Path\\python_path_test.py')
使用**os.path.splitext()**把路徑分割為文件路徑和文件擴展名。
import os path = os.path.abspath(__file__) result = os.path.splitext(path) print(result)
輸出:
('e:\\Python\\Path\\python_path_test', '.py')
日常用程序讀取文件數據等時,常常會顯示一些諸如文件路徑不存在等錯誤信息。
這類問題,在python中,主要是由于 “\”(反斜杠) 引起的。
因為在Windows系統中,使用 反斜杠(\) 作為文件路徑的分隔符,但在python中,反斜杠(\) 會被標識為轉義字符引起的。從而導致的程序報錯。
針對上述問題,常用的解決方法有如下三種。
以windows中的文件路徑:“E:\CloudMusic\MV\demo.txt” 為例。
方法1 將路徑中的單反斜杠替換為雙反斜杠。如下所示:
“E:\CloudMusic\MV\demo.txt”
方法2 在路徑前加r,使字符保持原始含義。 如下所示:
r"E:\CloudMusic\MV\demo.txt"
方法3 將反斜杠替換為正斜杠(/)。如下所示:
“E:/CloudMusic/MV/demo.txt”
以上就是“Python怎么獲取與處理文件路徑/目錄路徑”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。