Python?pycharm讀取文件相對路徑與絕對路徑的方法
1.絕對路徑

要讀取如圖所示文件的相對路徑:
方法1:直接根據(jù)文件路徑手動(dòng)讀取
D:\PycharmProjects\pythonProject\torch_learning\test_path.py
方法2:os.path.abspath(path)獲取
path = "test_path.py" # path為文件的名稱 print(os.path.abspath(papathth)) # 采用os.path.abspath方法獲取絕對路徑 # 代碼結(jié)果如下:D:\PycharmProjects\pythonProject\torch_learning\read_data.py
2.絕對路徑


比如我想從左圖文件”test_path“訪問右圖"0013035.jpg"文件,采用相對路徑:
1.獲取當(dāng)前文件的絕對路徑:D:\PycharmProjects\pythonProject\torch_learning\test_path.py
2.獲取訪問文件的絕對路徑:D:\PycharmProjects\pythonProject\torch_learning\dataset\train\ants\0013035.jpg
3.可以看出,要是想從”test_path.py“到"0031035.jpg"必須經(jīng)過”torch_learning“的文件夾,相當(dāng)于把它當(dāng)作一個(gè)過渡文件夾
4.相對路徑為:”./dataset/train/ants/0013035.jpg“
3.區(qū)分pycharm中的窗口運(yùn)行程序的相對路徑和控制臺(tái)運(yùn)行的路徑
窗口運(yùn)行程序的相對路徑是針對此時(shí)運(yùn)行的文件而言的
而控制臺(tái)運(yùn)行程序的相對路徑是由當(dāng)前你創(chuàng)建的虛擬環(huán)境所在的位置決定的。

比如我創(chuàng)建的虛擬環(huán)境的名稱為”pythonProject1“,那么Python控制臺(tái)的相對路徑就是從此開始的。
附:在Python中以相對路徑或者絕對路徑來導(dǎo)入文件或者模塊的方法
在調(diào)試代碼的時(shí)候,程序一直提示沒有該模塊,一直很納悶,因?yàn)槲覍?dǎo)入文件一直是用絕對路徑進(jìn)行導(dǎo)入的。按道理來講是不會(huì)出現(xiàn)模塊找不到的情況的。
最后仔細(xì)分析了整個(gè)代碼的目錄結(jié)構(gòu),才發(fā)現(xiàn)了問題。
下面依次來說明一下今天的情況
先看導(dǎo)入的代碼:
在demo——mnist.py文件中執(zhí)行以下兩種導(dǎo)入操作
# 第一處
from gcforest.gcforest import GCForest
from gcforest.utils.config_utils import load_json
# 第二處
config = load_json("demo_mnist-ca.json") # 里面?zhèn)魅氲氖俏募奈恢茫@個(gè)函數(shù)是讀取配置文件的內(nèi)容然后看一下目錄的結(jié)構(gòu)

在此例中,demo_mnist,py為主文件。它第一處要導(dǎo)入的是它當(dāng)前目錄的父目錄下的一個(gè)子目錄中的一個(gè)目錄中的文件。
所以以絕對路徑導(dǎo)入這個(gè)文件就是 from lib.gcforest.gcforet import GCForest
以相對路徑導(dǎo)入這個(gè)文件就是 from ..gcforest.gcforet import GCForest
第二處導(dǎo)入的是它統(tǒng)一個(gè)目錄下的另一個(gè)文件,所以可以直接導(dǎo)入
所以修改的導(dǎo)入代碼為:config = load_json("demo_mnist-ca.json")
總結(jié)
到此這篇關(guān)于Python pycharm讀取文件相對路徑與絕對路徑的文章就介紹到這了,更多相關(guān)pycharm讀取文件相對路徑絕對路徑內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python閉包之返回函數(shù)的函數(shù)用法示例
這篇文章主要介紹了 Python閉包之返回函數(shù)的函數(shù)用法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-01-01
對pycharm 修改程序運(yùn)行所需內(nèi)存詳解
今天小編就為大家分享一篇對pycharm 修改程序運(yùn)行所需內(nèi)存詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
python實(shí)現(xiàn)好看的時(shí)鐘效果
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)好看的時(shí)鐘效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05
使用Python3 poplib模塊刪除服務(wù)器多天前的郵件實(shí)現(xiàn)代碼
這篇文章主要介紹了使用Python3 poplib模塊刪除多天前的郵件的實(shí)現(xiàn)代碼,代碼簡單易懂,非常不錯(cuò),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
Python實(shí)現(xiàn)批量梯度下降法(BGD)擬合曲線
這篇文章主要介紹了Python實(shí)現(xiàn)批量梯度下降法(BGD)擬合曲線,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04

