Python?pycharm讀取文件相對路徑與絕對路徑的方法
1.絕對路徑
要讀取如圖所示文件的相對路徑:
方法1:直接根據(jù)文件路徑手動讀取
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)作一個過渡文件夾
4.相對路徑為:”./dataset/train/ants/0013035.jpg“
3.區(qū)分pycharm中的窗口運(yùn)行程序的相對路徑和控制臺運(yùn)行的路徑
窗口運(yùn)行程序的相對路徑是針對此時運(yùn)行的文件而言的
而控制臺運(yùn)行程序的相對路徑是由當(dāng)前你創(chuàng)建的虛擬環(huán)境所在的位置決定的。
比如我創(chuàng)建的虛擬環(huán)境的名稱為”pythonProject1“,那么Python控制臺的相對路徑就是從此開始的。
附:在Python中以相對路徑或者絕對路徑來導(dǎo)入文件或者模塊的方法
在調(diào)試代碼的時候,程序一直提示沒有該模塊,一直很納悶,因為我導(dǎo)入文件一直是用絕對路徑進(jìn)行導(dǎo)入的。按道理來講是不會出現(xiàn)模塊找不到的情況的。
最后仔細(xì)分析了整個代碼的目錄結(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)魅氲氖俏募奈恢?,這個函數(shù)是讀取配置文件的內(nèi)容
然后看一下目錄的結(jié)構(gòu)
在此例中,demo_mnist,py為主文件。它第一處要導(dǎo)入的是它當(dāng)前目錄的父目錄下的一個子目錄中的一個目錄中的文件。
所以以絕對路徑導(dǎo)入這個文件就是 from lib.gcforest.gcforet import GCForest
以相對路徑導(dǎo)入這個文件就是 from ..gcforest.gcforet import GCForest
第二處導(dǎo)入的是它統(tǒng)一個目錄下的另一個文件,所以可以直接導(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í)現(xiàn)爬取PTA所有題目功能 附源碼
這篇文章主要介紹了python繞過圖片滑動驗證碼實(shí)現(xiàn)爬取PTA所有題目 附源碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下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-11