Python:输出给定路径中文件夹的列表

时间:2014-01-11 04:14:43

标签: python

假设:

/some/path/to/a/certain unspecified/folder/

我需要一个清单:

var = some, path, to, a, "certain unspecified", folder

我怀疑os.walk(dir)可能与它有关,但我似乎无法做到这一点......

抱歉,我对Python很新。

3 个答案:

答案 0 :(得分:1)

分裂是关键:

var = '/some/path/to/a/certain unspecified/folder/'.split('/')

答案 1 :(得分:1)

除非你在Windows上,修改linux路径,否则使用os.path.split。 或者根据自己的喜好设置os.sep。 除非您在split之前恰当地更改路径分隔符,否则这不适用于混合窗口和Linux路径。

Edit2:设置os.path.sep不会使os.path.splitos.path.join表现出任何不同。遗憾。

编辑:嗯,对,os.path.split获取最终组件。 但是,有os.altsep,所以path.replace(os.altsep,os.sep).split(os.sep)可能就是这样。

os.sep默认设置为您的操作系统首选。 os.pathsep是(在Windows上)分隔PATH变量中目录的内容。

为了使其可靠地规范化路径(由@mhlester建议):

>>> os.path.normpath(r"C:/PythoN27\python.exe")
'C:\\PythoN27\\python.exe'
>>> os.path.normcase(r"C:/PythoN27\python.exe")
'c:\\python27\\python.exe'

答案 2 :(得分:0)

回答除了当用户在Windoze机器上时发生的事情,并且目录是'\'

使用os.sep获取当前操作系统的路径分隔符:

In [254]: os.getcwd()
Out[254]: 'D:\\Documents\\Desktop'

In [255]: os.getcwd().split(os.sep)
Out[255]: ['D:', 'Documents', 'Desktop']