最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一文講清Python中文件路徑的基本概念與操作方法

 更新時間:2026年04月02日 09:19:18   作者:卷心菜狗  
這篇文章主要為大家詳細介紹了Python中文件路徑的基本概念與操作方法,其中文件路徑主要分為絕對路徑(從根目錄開始)和相對路徑(相對于當前工作目錄),感興趣的小伙伴可以了解下

一、文件路徑概述

1. 什么是文件路徑

文件路徑是用于定位文件或文件夾在計算機中存儲位置的“地址”,就像現(xiàn)實生活中的“家庭住址”一樣,通過它操作系統(tǒng)才能找到對應的文件。

2. 為什么要學習文件路徑

在 Python 中,無論是讀取文件(如 open('data.txt'))、保存數(shù)據(jù),還是導入自定義模塊,都需要通過文件路徑來定位目標。路徑寫錯會直接導致 FileNotFoundError(文件找不到錯誤),因此掌握路徑是 Python 編程的基礎技能。

二、路徑的分類:絕對路徑 vs 相對路徑

1. 絕對路徑

定義:從文件系統(tǒng)的“根目錄”開始,完整描述文件位置的路徑。無論當前在哪個目錄下,絕對路徑都能唯一確定文件位置。

不同系統(tǒng)的絕對路徑格式:

Windows 系統(tǒng):以盤符開頭(如 C:、D:),用反斜杠 \ 分隔目錄(Python 中也可以用正斜杠 / 避免轉(zhuǎn)義問題)。

示例:C:\Users\張三\Desktop\project\data.txtC:/Users/張三/Desktop/project/data.txt

Linux / macOS 系統(tǒng):以正斜杠 /(根目錄)開頭,用正斜杠 / 分隔目錄。

示例:/Users/張三/Desktop/project/data.txt

2. 相對路徑

定義:相對于當前工作目錄(Current Working Directory, CWD)的路徑。簡單說,就是“以當前位置為起點,去找目標文件”。

相對路徑的核心符號:

符號含義說明
.當前目錄可省略(如 ./data.txt 等價于 data.txt)
..上一級目錄表示回到當前目錄的父目錄
/路徑分隔符Windows 用 \ 或 /,Linux/macOS 用 /

常見相對路徑寫法示例:

假設當前工作目錄是 project,目錄結(jié)構(gòu)如下:

C:\Users\張三\Desktop\
    └── project/          # 當前工作目錄(CWD)
        ├── code/
        │   └── script.py
        ├── data.txt      # 目標文件1
        └── docs/
            └── note.txt  # 目標文件2
    └── photo.jpg         # 目標文件3(上上級目錄)

場景相對路徑寫法說明
引用當前目錄的 data.txtdata.txt 或 ./data.txt直接寫文件名(或加 ./)
引用 code 目錄下的 script.pycode/script.py進入子目錄 code,再找文件
引用上一級目錄的 photo.jpg../photo.jpg先回到 Desktop(上一級),再找文件
引用上上級目錄(假設CWD是 code)../../photo.jpg從 code → project → Desktop,再找文件

如下示例,data與01腳本文件(文件名盡量不要數(shù)字開頭)同級別,在01腳本文件中引用同級data中的1.txt方式如下:

三、Python 中處理文件路徑的常用方法

使用Pycharm軟件進行路徑查看:

右擊文件點擊CopyPath

點擊后可查看文件的絕對路徑和 項目根相對路徑(相對于項目文件夾)

Python 提供了兩種主流方式處理路徑:傳統(tǒng)的 os.path 模塊現(xiàn)代的 pathlib 模塊(推薦新手優(yōu)先學 pathlib,更簡潔直觀)。

1. 方法一:os.path模塊(傳統(tǒng)方法)

os 是 Python 內(nèi)置的系統(tǒng)交互模塊,os.path 專門用于處理路徑。

常用函數(shù):

函數(shù)功能說明示例
os.getcwd()獲取當前工作目錄的絕對路徑print(os.getcwd()) → C:\project
os.path.join()智能拼接路徑(自動適配系統(tǒng)分隔符)os.path.join('code', 'script.py') → code/script.py
os.path.abspath()將相對路徑轉(zhuǎn)換為絕對路徑os.path.abspath('data.txt') → C:\project\data.txt
os.path.exists()判斷路徑是否存在(文件或文件夾都可)os.path.exists('data.txt') → True/False
os.path.isfile()判斷是否為文件os.path.isfile('data.txt') → True
os.path.isdir()判斷是否為文件夾os.path.isdir('code') → True

代碼示例(帶詳細注釋):

import os  # 導入 os 模塊

# 1. 獲取當前工作目錄
current_dir = os.getcwd()
print("當前工作目錄:", current_dir)  # 輸出類似: C:\Users\張三\Desktop\project

# 2. 拼接路徑(推薦用這個,避免手動寫分隔符出錯)
# 比如要拼接 "code" 和 "script.py"
script_path = os.path.join(current_dir, "code", "script.py")
print("拼接后的路徑:", script_path)  # 輸出: C:\Users\張三\Desktop\project\code\script.py

# 3. 判斷文件是否存在
if os.path.exists(script_path):
    print("文件存在!")
else:
    print("文件不存在!")

2. 方法二:pathlib模塊(現(xiàn)代推薦,面向?qū)ο螅蓪W完面向?qū)ο蠛笤龠M行回顧)

pathlib 是 Python 3.4+ 新增的模塊,用面向?qū)ο?/strong>的方式處理路徑,代碼更優(yōu)雅,是目前官方推薦的方式。

核心類:Path

方法/屬性功能說明示例
Path.cwd()獲取當前工作目錄(等價于 os.getcwd())Path.cwd() → C:\project
Path.joinpath()拼接路徑(也可以用 / 運算符)Path('code') / 'script.py' → code/script.py
Path.resolve()轉(zhuǎn)換為絕對路徑(等價于 os.path.abspath())Path('data.txt').resolve() → C:\project\data.txt
Path.exists()判斷路徑是否存在Path('data.txt').exists() → True
Path.is_file()判斷是否為文件Path('data.txt').is_file() → True
Path.is_dir()判斷是否為文件夾Path('code').is_dir() → True
Path.parent獲取上一級目錄(等價于 ..)Path('code/script.py').parent → code

代碼示例(帶詳細注釋):

from pathlib import Path  # 從 pathlib 導入 Path 類

# 1. 獲取當前工作目錄
current_dir = Path.cwd()
print("當前工作目錄:", current_dir)  # 輸出類似: C:\Users\張三\Desktop\project

# 2. 拼接路徑(推薦用 / 運算符,超簡潔!)
# 方式一:用 joinpath()
script_path = current_dir.joinpath("code", "script.py")
# 方式二:用 / (更推薦,像寫路徑一樣自然)
script_path = current_dir / "code" / "script.py"
print("拼接后的路徑:", script_path)  # 輸出: C:\Users\張三\Desktop\project\code\script.py

# 3. 判斷文件是否存在
if script_path.exists():
    print("文件存在!")
else:
    print("文件不存在!")

# 4. 獲取上一級目錄
parent_dir = current_dir.parent  # 等價于 ../
print("上一級目錄:", parent_dir)  # 輸出: C:\Users\張三\Desktop

四、新手常見問題與注意事項

1. 路徑分隔符的“坑”

Windows 默認用反斜杠 \,但在 Python 字符串中 \轉(zhuǎn)義字符(比如 \n 是換行),直接寫會報錯!

錯誤寫法:open("C:\Users\data.txt")\U 會被當成轉(zhuǎn)義符)

正確寫法:

  • 用正斜杠 /open("C:/Users/data.txt")(推薦,跨系統(tǒng)兼容)
  • 用雙反斜杠 \\open("C:\\Users\\data.txt")
  • 用原始字符串 r""open(r"C:\Users\data.txt")(加 r 表示不轉(zhuǎn)義)

2. 相對路徑的“基準”:當前工作目錄(CWD)

相對路徑是相對于“當前工作目錄”,而不是“腳本所在目錄”!

比如你在 Desktop 目錄下運行 project/code/script.py,此時 CWD 是 Desktop,不是 code。

如何獲取“腳本所在目錄”的絕對路徑?

如果希望路徑相對于腳本本身(無論在哪里運行都能找到文件),可以用以下方法:

1.用 pathlib(推薦)

from pathlib import Path
# 獲取當前腳本的絕對路徑,再取父目錄(即腳本所在文件夾)
script_dir = Path(__file__).resolve().parent
print("腳本所在目錄:", script_dir)

(注:__file__ 是 Python 內(nèi)置變量,表示當前腳本的文件名)

2.用 os.path

import os
script_dir = os.path.dirname(os.path.abspath(__file__))
print("腳本所在目錄:", script_dir)

3. 文件名和路徑中不要有中文?

不是不能有,但建議新手盡量用英文命名文件和文件夾,避免部分系統(tǒng)或舊版本 Python 出現(xiàn)編碼問題。

五、總結(jié)

  • 絕對路徑:完整地址,從根目錄開始,適合固定位置的文件;
  • 相對路徑:以當前目錄為起點,用 .(當前)、..(上一級),適合項目內(nèi)文件;
  • Python 處理路徑:優(yōu)先用 pathlib(面向?qū)ο?,簡潔),也可以?os.path(傳統(tǒng));
  • 避坑要點:注意分隔符轉(zhuǎn)義、明確當前工作目錄、盡量用英文命名。

到此這篇關于一文講清Python中文件路徑的基本概念與操作方法的文章就介紹到這了,更多相關Python文件路徑操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

乌拉特后旗| 论坛| 邵东县| 诏安县| 庆城县| 竹北市| 临海市| 防城港市| 岳池县| 杨浦区| 宜都市| 横山县| 磐安县| 阿坝| 呼玛县| 祁门县| 芦山县| 仙游县| 泰宁县| 柏乡县| 尖扎县| 军事| 宁夏| 德保县| 昂仁县| 双流县| 浪卡子县| 鱼台县| 南宁市| 木里| 三明市| 城步| 册亨县| 濮阳市| 衡水市| 哈密市| 准格尔旗| 玛曲县| 永福县| 中卫市| 庄河市|