首頁 > 軟體

Python獲取與處理檔案路徑/目錄路徑範例程式碼

2023-09-06 06:08:46

檔案目錄結構說明

一、路徑獲取

1.1 獲取當前檔案的絕對路徑

使用**os.path.abspath()**獲取當前檔案的絕對路徑。

import os
file_path = os.path.abspath(__file__)
print(file_path)

輸出:

e:PythonPathpython_path_test.py

1.2.1 獲取當前檔案的所在目錄

使用**os.path.dirname()**獲取當前檔案的所在目錄。

import os
directory_path = os.path.dirname(os.path.abspath(__file__))
print(directory_path)

輸出:

e:PythonPath

1.2.2 獲取當前檔案的所在目錄的上一級目錄

使用多個**os.path.dirname()**巢狀以獲取當前檔案的所在目錄的上一級目錄。

import os
parent_directory_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
print(parent_directory_path)

輸出:

e:Python

1.3 獲取當前檔名

使用**os.path.basename()**獲取當前檔案的所在目錄。

import os
file_name = os.path.basename(__file__)
print(file_name)

輸出:

python_path_test.py

1.4 獲取當前檔案對於基準路徑的相對路徑

使用**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:PythonPathpython_path_test.py
Base Path: E:Python
Relative Path: Pathpython_path_test.py

二、路徑判斷

2.1 判斷路徑是否存在

使用**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

2.2 判斷路徑是否為絕對路徑

使用**os.path.isabs()**判斷路徑是否為絕對路徑。

import os
path = "E:PythonPathdatadata_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

2.3 判斷路徑是否為目錄

使用**os.path.isdir()**判斷路徑是否為目錄。

import os
path = "E:PythonPathdata"
is_exists = os.path.isdir(path)
print(is_exists)

輸出:

True

import os
path = "E:PythonPathdatadata_file.txt"
is_exists = os.path.isdir(path)
print(is_exists)

輸出:

False

2.4 判斷路徑是否為檔案

使用**os.path.isfile()**判斷路徑是否為檔案。

import os
path = "E:PythonPathdatadata_file.txt"
is_exists = os.path.isfile(path)
print(is_exists)

輸出:

True

import os
path = "E:PythonPathdata"
is_exists = os.path.isfile(path)
print(is_exists)

輸出:

False

三、路徑處理

3.1 把多個目錄/檔名合併(連線)為一個路徑

使用**os.path.join(path1, path2, ···)**把多個目錄/檔名合併(連線)為一個路徑。

import os
path1 = "E:Python"
path2 = "Pathdata"
path3 = "data_file.txt"
path = os.path.join(path1, path2, path3)
print(path)

輸出:

E:PythonPathdatadata_file.txt

3.2 把路徑分割為檔案所在目錄路徑(dirname)和檔名(basename)

使用**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')

3.3 把路徑分割為驅動器名(Windows作業系統)和檔案路徑

使用**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')

3.4 把路徑分割為檔案路徑和副檔名

使用**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正確讀取檔案路徑的三種解決方法

一、問題需求

日常用程式讀取檔案資料等時,常常會顯示一些諸如檔案路徑不存在等錯誤資訊。

二、問題原因

這類問題,在python中,主要是由於 “”(反斜槓) 引起的。

因為在Windows系統中,使用 反斜槓() 作為檔案路徑的分隔符,但在python中,反斜槓() 會被標識為跳脫字元引起的。從而導致的程式報錯。

三、解決辦法

針對上述問題,常用的解決方法有如下三種。

以windows中的檔案路徑:“E:CloudMusicMVdemo.txt” 為例。

方法1 將路徑中的單反斜槓替換為雙反斜槓。如下所示:

“E:CloudMusicMVdemo.txt”

方法2 在路徑前加r,使字元保持原始含義。 如下所示:

r"E:CloudMusicMVdemo.txt"

方法3 將反斜槓替換為正斜槓(/)。如下所示:

“E:/CloudMusic/MV/demo.txt”

根據自己的習慣,選擇調整即可。

總結

到此這篇關於Python獲取與處理檔案路徑/目錄路徑的文章就介紹到這了,更多相關Python獲取處理檔案路徑內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com