从文档: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