如何将任何目录格式(Windows,Linux,Mac)传递给函数,以及如何在操作系统中单独使用它(python3)

您可以使用以下方法使os独立成为文件名:

os.path.join(os.path.curdir,'文件名')

但是我还需要其他东西。我希望我的函数采用任何路径格式(Windows,Linux,Mac),将其转换为OS独立格式,以便将其分配给变量并在任何OS上使用。另外,请注意文件名不一定位于当前目录中。

示例:

def magically_read_any_path_format_and_make_it_os_independent(input_file)
    ...
    return os_independent_format

# my variable
file = magically_...(input_file)

P.S。我知道我可以检查是否是一个或另一个操作系统,并进行相应的转换,但是还有自动化和Pythonic的功能吗? os,pathlib或其他地方有东西吗?

谢谢

icefirelt 回答:如何将任何目录格式(Windows,Linux,Mac)传递给函数,以及如何在操作系统中单独使用它(python3)

不确定os的含义是什么,独立于文档,说明“ os.path模块始终是适用于运行Python的操作系统的路径模块,因此可用于本地路径”,这意味着您可以满足需要本地。

您也许可以 os.path.join(os.path.join(os.path.curdir,'')有点黑

os.path.normpath(os.path.curdir)可能会做更多您想做的事,请参阅the docs

,

如果您使用的是Python > 3.4,则可以使用pathlib,它就是这样做的。您从路径创建了一个Path对象,它可以为您处理所有事情。

在旧版本的Python上,只要您使用os.path进行所需的任何路径操作,并将Unix格式与os.path.normpath一起用于任何硬编码常量,它就可以在任何操作系统。

本文链接:https://www.f2er.com/3122133.html

大家都在问