從文檔:Python的os模塊路徑功能
os.path.realpath(path)
Return the canonical path of the specified filename, eliminating any
symbolic links encountered in the path (if they are supported by the
operating system).
當我調用這與現存的文件的名字,我得到它的路徑:/home/myhome/myproject
。
當我用'nonsense.xxx'字符串參數調用這個參數時,我仍然得到一條到/home/myhome/myproject/nonsense.xxx
的路徑。這有點不一致,因爲它看起來像nonsense.xxx
被認爲是一個不是文件的目錄(儘管它不是:它不存在)。
當我用空字符串文件名調用此函數時,我仍然得到/home/myhome/myproject
的路徑。
當文檔對realpath()說得太少時,我該如何解釋這種行爲? (我正在使用Python 2.5。)
編輯:有人提出了一種測試文件是否存在的方法。我關心的不是測試文件是否存在。我的關注是解釋行爲。
os.path doc說:「這個模塊在路徑名上實現了一些有用的功能」。它並沒有說os.path.realpath()會返回一個路徑,不管你發送了什麼垃圾。但是,這似乎是它的作用。 – H2ONaCl 2011-01-07 05:36:34