首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python os模块路径函数

Python os模块路径函数
EN

Stack Overflow用户
提问于 2011-01-07 13:28:24
回答 3查看 600关注 0票数 0

从文档中:

代码语言:javascript
复制
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。)

编辑:有人建议了一种测试文件是否存在的方法。我关心的不是测试文件是否存在。我关心的是对行为的解释。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-01-07 13:32:06

os.path对文件是否存在不感兴趣。它只关心构建路径。

realpath从等式中消除了已知的符号链接,但不存在的目录被假定为路径的有效元素。

票数 2
EN

Stack Overflow用户

发布于 2011-01-07 13:39:48

而不是猜测,只需阅读代码!它在您的python安装中。或者浏览here,它只有14行减去注释。

票数 2
EN

Stack Overflow用户

发布于 2011-01-07 13:37:04

在调用前放置诸如"os.path.isfile(x)“、"x is not None”和"os.path.isdir(x)“之类的测试?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4622766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档