A. Python怎樣得到資源文件的絕對路徑
路徑有兩種,相對路徑和絕對路徑。 對於Unix-Like系統來說,絕對路徑就是以/開頭的路徑。 相對路徑就是不以/開頭的路徑。
其實,操作系統中實際只有一種路徑,那就是絕對路徑。 相對路徑,只是程序自己幫我們修改為絕對路徑了。
操作系統的程序運行器利用環境變數,為我們把相對路徑生成為絕對路徑。getcwd()函數用於得到當前進程的當前工作路徑。也就是相對路徑的起始點。
在Python中,可以使用os.chdir函數切換當前工作路徑。
當前工作路徑,是程序執行時所在的路徑。 我們在哪個目錄下執行程序,當前路徑就是哪一個目錄。
我們常常需要在python中執行一些源碼目錄下的文件。如,我們可能需要用eval動態執行一個python源文件。或者一些配置文件到目標系統的路徑下。此時,我們無法知道這些文件的絕對路徑,因為我們不能預知用戶會把我們的程序安裝到哪一個目錄下。
我們也不能依賴於當前工作路徑。因為用戶很可能不在我們的源碼目錄下執行我們的程序。
那麼,此時我們如何得到源碼目錄下文件的絕對路徑呢?
我是這樣做的:
ABSPATH=None
if __name__ == '__main__':
ABSPATH=os.path.abspath(sys.argv[0])
ABSPATH=os.path.dirname(ABSPATH)+"/"
print ABSPATH
B. python 獲取文件夾路徑問題
#encoding:utf-8
importos
printos.path.abspath("test")
使用os.path.abspath方法可以輸出文件夾的絕對路徑。
參數裡面要寫相對路徑,比如腳本和文件夾在同一路徑,就直接寫名字即可。如果文件夾在上一個目錄,就寫成"../test"。
其實從方法名也能看出來,是一個相對路徑轉絕對路徑的方法。
C. python 如何實現兩個目錄下不同的文件,並輸出不同文件的路徑,將其寫入txt中
importos
defos_walker(folder):
"""遍歷foler裡面的文件"""
path=os.path.abspath(folder)
forroot,dirs,filesinos.walk(path):
ifdirs:
continue
#printroot,dirs,files
forfinfiles:
yieldf,os.path.abspath(os.path.join(root,f))
defcompare(f1,f2):
""""對比出兩個文件夾裡面的文件""""
f1_list={f:pforf,pinos_walker(f1)}
f2_list={f:pforf,pinos_walker(f2)}
common={_:f1_list[_]for_inf1_listif_inf2_list}
print"common:",common
f1_specific={_:f1_list[_]for_inf1_listif_notinf2_list}
print"f1_specific",f1_specific
f2_specific={_:f2_list[_]for_inf2_listif_notinf1_list}
print"f2_specific",f2_specific
compare("FOLDER1","FOLDER2")
這個代碼有很多局限,比如沒考慮子目錄等,核心思想是用os.walk. 希望有幫助
D. 只知道文件名的情況下,怎麼用python獲取所有同名文件的路徑
獲取文件路徑可以使用OS模塊,代碼如下:
importos
srcPath=r"WallReference.pdf"
path=os.path.abspath(srcPath)
print"全路徑為:",path
print"路徑名,文件名",os.path.split(path)
導入os模塊;
需要操作的文件;
獲取文件的全路徑,即帶盤符的路徑;
輸出全路徑;
輸出路徑名和文件名;
E. python怎麼得到文件所在路徑
python獲取文件所在目錄的方法,具體步驟如下:
相關推薦:《Python入門教程》
第一步,通過import os導入os模塊。
第二步,模擬一個文件路徑,並賦值給變數filepath。
第三步:獲取文件所在目錄,使用os.path.dirname()。
在交互模式中,按回車鍵進行執行,即可得到文件所在目錄。
F. Python怎樣得到資源文件的絕對路徑
路徑有兩種,相對路徑和絕對路徑。 對於Unix-Like系統來說,絕對路徑就是以/開頭的路徑。 相對路徑就是不以/開頭的路徑。
其實,操作系統中實際只有一種路徑,那就是絕對路徑。 相對路徑,只是程序自己幫我們修改為絕對路徑了。
操作系統的程序運行器利用環境變數,為我們把相對路徑生成為絕對路徑。getcwd()函數用於得到當前進程的當前工作路徑。也就是相對路徑的起始點。
在python中,可以使用os.chdir函數切換當前工作路徑。
當前工作路徑,是程序執行時所在的路徑。 我們在哪個目錄下執行程序,當前路徑就是哪一個目錄。
我們常常需要在python中執行一些源碼目錄下的文件。如,我們可能需要用eval動態執行一個python源文件。或者一些配置文件到目標系
統的路徑下。此時,我們無法知道這些文件的絕對路徑,因為我們不能預知用戶會把我們的程序安裝到哪一個目錄下。
我們也不能依賴於當前工作路徑。因為用戶很可能不在我們的源碼目錄下執行我們的程序。
那麼,此時我們如何得到源碼目錄下文件的絕對路徑呢?
我是這樣做的:
ABSPATH=None
if __name__ == '__main__':
ABSPATH=os.path.abspath(sys.argv[0])
ABSPATH=os.path.dirname(ABSPATH)+"/"
print ABSPATH
通過拿到第一個參數的絕對路徑,我們就知道了程序所在的絕對路徑,我們就能夠使用ABSPATH這個全局變數組裝出 我們源碼目錄下的任意一個文件的絕對路徑了!
G. python文件路徑怎麼寫
在python程序裡面我們經常需要導入數據文件,Windows下的文件目錄路徑使用「」來分隔。由於python代碼裡面,反斜杠「」是轉義符,例如「 」表示回車、「 」表示製表符等等,這樣如果繼續用""表示文件路徑,就會有歧義。
解決辦法:
(1)使用斜桿「/」:如「c:/tc.py」
(2)將反斜杠符號轉義:如「c:\tc.py」
(3)使用python的raw string:如r「c: c.py」
————————————————
原文鏈接:網頁鏈接
H. python怎麼根據文件名獲得文件路徑
獲取文件路徑可以使用OS模塊,代碼如下:
importos
srcPath=r"WallReference.pdf"
path=os.path.abspath(srcPath)
print"全路徑為:",path
print"路徑名,文件內名",os.path.split(path)
導入容os模塊;
需要操作的文件;
獲取文件的全路徑,即帶盤符的路徑;
輸出全路徑;
輸出路徑名和文件名;
I. python文件名獲取文件路徑
使用os.path.abspath()函數來獲取文件絕對路徑
文件目錄結構如下:
os.path.abspath(path)返回path規范化的絕對路徑(但這個路徑不一定是真實的路徑),如果path僅是一個文件名,使用該函數後返回的路徑是當前工作目錄路徑連接改文件名後所組成的新的路徑名。
>>> import os.path
>>> os.path.abspath("a.py")
'C:\Users\Administrator\a.py'
os.path.split(path)將path分割成目錄和文件名二元組返回
>>> os.path.split("C:\Users\Administrator\a.py")
('C:\Users\Administrator', 'a.py')
os.path.dirname(path)返回path的目錄,其實就是os.path.split(path)的第一個元素
>>> os.path.dirname("C:\Users\Administrator\a.py")
'C:\Users\Administrator'
os.path.basename(path)返回path最後的文件名。如果path以/或結尾,就會返回空值。即os.path.split(path)的第二個元素。
>>> os.path.basename("C:\Users\Administrator\a.py")
'a.py'
os.path.commonprefix(list)返回list中所有path共有的最長的路徑,從左向右,相同字元。
os.path.exists(path)如果path存在,返回True;如果path不存在,返回False。
os.path.isabs(path)如果path是絕對路徑,返回True。
os.path.normpath(path)規范path字元串形式(規範文件路徑)
os.path.isfile(path)判斷路徑是否為文件,是返回True,否則返回False
os.path.isdir(path)如果path是一個存在的目錄,返回True,否則返貨False。
os.path.islink(path)是否是鏈接;但如果系統不支持鏈接,則返回False。