Python将str转换为路径类型?

rea*_*box 10 python string path

我正在尝试与一些保存配置的现有代码交互,并期望文件路径为'path.path'类型。该代码期望从pygtk浏览器窗口(通过另一个函数)返回文件路径。我想在代码的其他地方调用save_config函数,并使用基于由字符串元素构造的不同输入的文件路径。

当我尝试运行代码时,我能够正确地构造文件路径,但是它是字符串类型,并且save函数期望使用“ path.path”类型。

有没有一种方法可以将字符串转换为路径类型?我尝试搜索,但只能找到相反的情况(字符串的路径)。我也尝试使用os.path.join(),但是它也会返回一个字符串。

编辑:这是python 2.7,如果有所不同。

小智 29

Since python 3.4:

from pathlib import Path
str_path = "my_path"
path = Path(str_path)
Run Code Online (Sandbox Code Playgroud)

https://docs.python.org/3/library/pathlib.html#module-pathlib


Dan*_*iel 21

也许这个答案适用于 python 2.7,如果你使用的是 Python 3,我喜欢:

import os

p = "my/path/to/file.py"
os.path.normpath(p)
'my\\path\\to\\file.py'
Run Code Online (Sandbox Code Playgroud)


Bry*_*ley 1

如果path.path代表一种类型,您可能可以使用以下内容创建该类型的实例:

string_path = "/path/to/some/file"
the_path = path.path(string_path)
save_config(the_path())
Run Code Online (Sandbox Code Playgroud)