你能为abspath设置cwd吗?

2024-10-03 09:13:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图把一条相对路径扩展成一条绝对路径。相对路径有时会包含一个.,它需要从当前工作目录中展开。我想知道Python中的任何标准函数是否接受cwdkwarg,就像subprocess.popen一样。在

最优解

abs_path = os.path.abspath(rel_path, cwd=special_cwd)

当前解决方案

^{pr2}$

目前的解决方案似乎很笨拙,有没有更好的方法来实现这一点?在


Tags: path函数目录标准osabs解决方案rel
1条回答
网友
1楼 · 发布于 2024-10-03 09:13:20

The current solution seems clunky, is there a better way to accomplish this?

您可以用context manager编写自己的代码,它会更改目录,然后再更改回:

>>> from contextlib import contextmanager

>>> @contextmanager
... def cwd(path):
...     from os import getcwd, chdir
...     cwd = getcwd()
...     chdir(path)
...     yield
...     chdir(cwd)

那么实际的代码看起来会更清晰:

^{pr2}$

相关问题 更多 >