大家好,目前小弟正在研討關於os.path這款模組
但小弟這邊測試發現,經過os.path.abspath或os.path.realpath找到的路徑都與實際的路徑不同,想請教大家如何解決這個問題
(由於後續還有使用getsize確認上述的兩個路徑都找不到檔案,而自己編寫的則有找到)
import os.path as path
cur_path = path.dirname(__file__)
print("現在路徑:"+ cur_path)
<!-- print出 現在路徑:e:\python_text\test --!>
file2 = "E:/python_text/test/test.py"
<!-- 實際的絕對路徑 --!>
file1 = path.realpath("test.py")
print("test.py完整路徑:" + file1)
<!-- print出 test.py完整路徑:E:\python_text\test.py --!>
print("檔案大小為:{}".format(path.getsize(file1)))
<!-- 系統提示找不到路徑 --!>
print("檔案大小為:{}".format(path.getsize(file2)))
<!-- print出 檔案大小為:1713 --!>
你沒搞懂當前所在目錄(working directory)和檔案位置有何區別。
我猜你的終端機應該是這樣:
E:\python_text> python ./test/test.py
path.realpath根據的是當前所在目錄。也就是終端機前面的那個位置。
__file__則是根據執行的檔案位置。
你可以用 os.getcwd() 取得當前所在目錄
你還是用:
print("file1:" + file1)
print("file2:" + file2)
確認你存入的是啥東西,看結果會比較清楚……
(我實在不懂你要幹嘛,註解竟然用 html 形式的……這有點屌……)