有可能改变吗os.path.join操作系统根路径?

2024-09-27 19:34:59 发布

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

我想根据用户定义的路径获得绝对路径,这样当我执行os.path.join('whatever', '/file')时,它返回USERPATH/file'。在

现在它返回/file(假设它是一个绝对路径)

有没有办法告诉你os.path.join操作系统哪个应该是根路径?(这样当它认为某个东西是绝对路径时,它会在根路径前面加上一个)

我想做的是:

> # Do something to set the root path to USERPATH

> os.path.join('folder','file')
folder/file
> os.path.join('folder','/file')
USERPATH/file
> os.path.join('/folder','file')
USERPATH/folder/file
> os.path.join('/folder','/file')
USERPATH/file

Tags: topath用户路径定义osfolderdo
2条回答

如果您想先基于某个绝对路径检查进行预告,然后根据需要进行concat:

import os
f = os.path.join('whatever', '/file')
if os.path.isabs(f):
    pth = "USERPATH/{}".format(f)

技术上有两种方法:monkeypatch os.path模块,或者使用^{}系统调用。不幸的是,这也会改变Python上的所有其他路径处理,也会使您的程序可能无法运行。在

相关问题 更多 >

    热门问题