我需要创建一个相对路径,以当前目录为"."点开始
例如,在Windows中使用“.\envs\.some.env”,在其他地方使用“./envs/.some.env”
我想使用pathlib来实现这一点。已经找到了一个解决方案,但它有一个笨拙的替换语句。是否有更好的方法可以使用pathlib来实现这个目标?
使用django-environ时,目标是支持多个env文件。工作文件夹包含一个envs文件夹,该文件夹中包含多个env文件。
import environ
from pathlib import Path
import os
domain_env = Path.cwd()
dotdot = Path("../")
some_env = dotdot / "envs" / ".some.env"
envsome = environ.Env()
envsome.read_env(envsome.str(str(domain_env), str(some_env).replace("..", ".")))
print(str(some_env))
print(str(some_env).replace("..", "."))
dot = Path("./") # Path(".") gives the same result
some_env = dot / "envs" / ".some.env"
print(str(some_env))
在Windows上会给出以下信息:
..\envs\.some.env
.\envs\.some.env
envs\.some.env
envs\.some.env
不够用?对于像Path('envs\\.some.env').open()
和Path('.\\envs\\.some.env').open()
这样的常见用法,它们应该是相同的。 - Hans Musgraveos.path.join('。',str(some_env))
即可。 - metatoasterrequire()
语句,在那里./something.js
和something.js
被解释为不同的内容。 - user3064538