python中从相对路径查找绝对路径

发布于 2024-12-12 00:33:05 字数 428 浏览 0 评论 0原文

我的问题几乎就是标题所暗示的。我的研究引导我尝试这样的事情:

import os
pathname = os.path.abspath("some/relative/directory")
print pathname

这个问题是,每当我做这样的事情时,它只会返回我在 python 目录之前给出的任何相对目录。例如:

C:\Python27\some\relative\directory

它甚至不是我计算机上的现有目录。我知道 python 解释器默认搜索工作目录,但我想做的是让它搜索我的整个计算机以查找包含我指定的部分目录的绝对路径。

这样做的目的是让我创建一个 exe(使用 py2exe),它可以搜索任何计算机上的任意目录。有没有一种方法可以在标准库中或通过某些可用模块执行此操作 - 或者我必须自己实现该算法?

my question is pretty much what the title suggests. my research has led me to try something like this:

import os
pathname = os.path.abspath("some/relative/directory")
print pathname

this problem is that whenever i do something like this, it simply returns whatever relative directory i gave it preceded by my python directory. for example:

C:\Python27\some\relative\directory

which is not even an existing directory on my computer. i understand that the python interpreter searches the working directory by default, but what i'd like to do is have it search my entire computer for an absolute path that contains the partial directory i specify.

the purpose of this is for me to create an exe (using py2exe) that can search for an arbitrary directory on any computer. is there a method for doing this in the standard library or through some available module - or would i have to implement the algorithm myself?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夜光 2024-12-19 00:33:06

abspath 基于getcwd。最有可能的是,您当前的工作目录根本不是您所期望的。

您可以更改启动脚本的代码,手动更改目录,或者仅使用 chdir

abspath is based on getcwd. Most likely, your current working directory simply isn't what you expect.

You can change the code that launches your script, change directories manually, or just use chdir in Python.

初见 2024-12-19 00:33:06

您尝试过 os.path.realpath("my/relative/dir") 吗?实际上,该目录似乎可能不存在,但如果存在,它将解析符号链接等。

Did you try os.path.realpath("my/relative/dir")? Actually it seems the directory may not exist, but if it does, it will resolve symbolic links and whatnot.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文