一 背景信息
最近在運行python程序的過程中,無意遇到了這個一個問題,在同事那邊一直執(zhí)行ok的程序,到我這里怎么都有個錯誤,當(dāng)初報的錯誤是這樣的:
FileNotFoundError: [Errno 2] No such file or directory: 'ui.qss'
意思是程序種找不到這個文件,通過查看代碼,程序中是存在這個文件的。看來是代碼有問題,經(jīng)過幾番定位,我終于找到問題了,是我執(zhí)行代碼的時候,實在文件外邊執(zhí)行的,可是,代碼中用到了一個相對路徑,所以說會上報這個錯誤。通過這個錯誤,讓我認識到了自己的python基礎(chǔ)有多差,差了不要緊,那就補起來吧。
二 基本方法:
1. os.getcwd()
獲取文件當(dāng)前工作目錄路徑(絕對路徑)https://docs.python.org/2/library/os.html#os.getcwd
2. sys.path[0]
獲取文件當(dāng)前工作目錄路徑(絕對路徑)
sys.argv[0]|獲得模塊所在的路徑(由系統(tǒng)決定是否是全名)
若顯示調(diào)用python指令,如python demo.py,會得到絕對路徑;
若直接執(zhí)行腳本,如./demo.py,會得到相對路徑。
3. __ file __
獲得文件所在的路徑(由系統(tǒng)決定是否是全名)
若顯示執(zhí)行Python,會得到絕對路徑;
若按相對路徑來直接執(zhí)行腳本./pyws/path_demo.py,會得到相對路徑。
4. os.path.abspath(__ file __)
獲得文件所在的路徑(絕對路徑)
5. os.path.realpath(__ file __)
獲得文件所在的路徑(絕對路徑)
三 實戰(zhàn)訓(xùn)練:
path = os.getcwd() path1 = os.path.join(path, " test.txt " ) def dir_check(): print ( " the pwd is:%s " % path) print ( " the full path is:%s " % path1) with open(path1) as file: css = file.readlines() print ( " %s " % css) def print_dir(): print ( " sys.path[0] = " , sys.path[0]) print ( " __file__ = " , __file__ ) print ( " os.path.abspath(__file__) = " , os.path.abspath( __file__ )) print ( " os.path.realpath(__file__) = " , os.path.realpath( __file__ )) if __name__ == ' __main__ ' : dir_check() print_dir()
?
由于涉及到保密問題,程序的結(jié)果我就不貼出來了,想知道的自己執(zhí)行一下吧。
對絕大多數(shù)人來說,獲取一門技能的最快方法是反復(fù)練習(xí)。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
