Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如果目录有子目录,用尾随斜杠打印目录的更快方法?_Python_Python 3.x_String - Fatal编程技术网

Python 如果目录有子目录,用尾随斜杠打印目录的更快方法?

Python 如果目录有子目录,用尾随斜杠打印目录的更快方法?,python,python-3.x,string,Python,Python 3.x,String,我有一个路径列表,其中有些没有任何子目录,有些有,比如: foo bar/foo baz/burr/ham for path in path_list: spl = path.split('/') if len(spl) > 1: neat_path = spl[0] + '/' else: neat_path = spl[0] 我想返回这些路径的列表,这样带有子目录的目录会附加一个尾随斜杠,而无子

我有一个路径列表,其中有些没有任何子目录,有些有,比如:

foo
bar/foo
baz/burr/ham
for path in path_list:
    spl = path.split('/')
        if len(spl) > 1:
            neat_path = spl[0] + '/'
        else:
            neat_path = spl[0]
我想返回这些路径的列表,这样带有子目录的目录会附加一个尾随斜杠,而无子目录则不会。因此,结果如下所示:

foo
bar/
baz/
到目前为止,我使用了一个带有split的for循环,通过正向斜杠拆分字符串,然后访问拆分结果的第一个元素,如下所示:

foo
bar/foo
baz/burr/ham
for path in path_list:
    spl = path.split('/')
        if len(spl) > 1:
            neat_path = spl[0] + '/'
        else:
            neat_path = spl[0]
这是可行的,但我觉得一定有更整洁的方式,或者我错过了一条线


我希望避免添加太多依赖项—我使用的是os.path,但出于这个原因,我不想使用pathlib或re。如果有更快的方法使用path或本机Python函数,我希望得到任何建议。

尝试path.partition('/'),然后直接使用spl[0]+spl[1]。这很有效,谢谢!我已将代码缩减为
neat_path='''.join(path.partition('/')[0:2])
:)