您可以使用以下选项使操作系统独立于文件名:
os.path.join(os.path.curdir,'filename')
但我需要别的东西。我希望我的函数采用任何路径格式(windows、linux、mac),将其转换为与操作系统无关的格式,以便在变量处分配它,并在任何操作系统上使用它。另外,请注意文件名不一定在当前目录中
示例:
def magically_read_any_path_format_and_make_it_os_independent(input_file)
...
return os_independent_format
# my variable
file = magically_...(input_file)
另外,我知道我可以检查它是一个操作系统还是另一个操作系统,并进行相应的转换,但有什么更自动化和python的吗?在os或pathlib或其他地方
谢谢
如果您使用的是python
> 3.4
,那么就可以使用pathlib
,而且它确实做到了这一点。从您的路径创建一个Path
对象,它为您处理所有事情在较早版本的Python上,只要使用
os.path
进行所需的任何路径操作,并将Unix格式与os.path.normpath
一起用于任何硬编码常量,就可以在任何操作系统上工作不确定您所说的操作系统独立是什么意思,docs声明“os.path module始终是适合Python运行的操作系统的路径模块,因此可用于本地路径”,这意味着它提供了您在本地需要的东西
你也许可以
os.path.join(os.path.join(os.path.curdir, '')
这是相当粗糙的或者
os.path.normpath(os.path.curdir)
哪个可能比你想要的做得更多,请参见the docs相关问题 更多 >
编程相关推荐