Python?pycharm讀取文件相對(duì)路徑與絕對(duì)路徑的方法
1.絕對(duì)路徑
要讀取如圖所示文件的相對(duì)路徑:
方法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方法獲取絕對(duì)路徑 # 代碼結(jié)果如下:D:\PycharmProjects\pythonProject\torch_learning\read_data.py
2.絕對(duì)路徑
比如我想從左圖文件”test_path“訪問右圖"0013035.jpg"文件,采用相對(duì)路徑:
1.獲取當(dāng)前文件的絕對(duì)路徑:D:\PycharmProjects\pythonProject\torch_learning\test_path.py
2.獲取訪問文件的絕對(duì)路徑: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.相對(duì)路徑為:”./dataset/train/ants/0013035.jpg“
3.區(qū)分pycharm中的窗口運(yùn)行程序的相對(duì)路徑和控制臺(tái)運(yùn)行的路徑
窗口運(yùn)行程序的相對(duì)路徑是針對(duì)此時(shí)運(yùn)行的文件而言的
而控制臺(tái)運(yùn)行程序的相對(duì)路徑是由當(dāng)前你創(chuàng)建的虛擬環(huán)境所在的位置決定的。
比如我創(chuàng)建的虛擬環(huán)境的名稱為”pythonProject1“,那么Python控制臺(tái)的相對(duì)路徑就是從此開始的。
附:在Python中以相對(duì)路徑或者絕對(duì)路徑來導(dǎo)入文件或者模塊的方法
在調(diào)試代碼的時(shí)候,程序一直提示沒有該模塊,一直很納悶,因?yàn)槲覍?dǎo)入文件一直是用絕對(duì)路徑進(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è)目錄中的文件。
所以以絕對(duì)路徑導(dǎo)入這個(gè)文件就是 from lib.gcforest.gcforet import GCForest
以相對(duì)路徑導(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讀取文件相對(duì)路徑與絕對(duì)路徑的文章就介紹到這了,更多相關(guān)pycharm讀取文件相對(duì)路徑絕對(duì)路徑內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python繞過圖片滑動(dòng)驗(yàn)證碼實(shí)現(xiàn)爬取PTA所有題目功能 附源碼
這篇文章主要介紹了python繞過圖片滑動(dòng)驗(yàn)證碼實(shí)現(xiàn)爬取PTA所有題目 附源碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01python 實(shí)現(xiàn)關(guān)聯(lián)規(guī)則算法Apriori的示例
這篇文章主要介紹了python 實(shí)現(xiàn)關(guān)聯(lián)規(guī)則算法Apriori的示例,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下2020-09-09Python標(biāo)準(zhǔn)庫之多進(jìn)程(multiprocessing包)介紹
這篇文章主要介紹了Python標(biāo)準(zhǔn)庫之多進(jìn)程(multiprocessing包)介紹,本文講解了進(jìn)程池、共享資源、共享內(nèi)存、Manager等內(nèi)容,需要的朋友可以參考下2014-11-11Python實(shí)現(xiàn)的簡單計(jì)算器功能詳解
這篇文章主要介紹了Python實(shí)現(xiàn)的簡單計(jì)算器功能,結(jié)合實(shí)例形式詳細(xì)分析了Python實(shí)現(xiàn)計(jì)算器功能的具體步驟、相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-08-08Python項(xiàng)目管理工具Poetry使用示例詳解
這篇文章主要為大家介紹了Python項(xiàng)目管理工具Poetry使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09