Python 所有列表项都包含“./”,我想将其删除

Python all list items contain "./" and I would like to remove it

我正在使用 python 横向进入目录中的所有子文件夹 并为了编写 os 命令。我需要所有子文件夹的列表,但列表返回时文件夹名称前面带有“./”,我希望同时从所有列表项目中删除此子字符串

到目前为止我的脚本:

import os
import glob

file_list = glob.glob("./*")
file_list.remove("./script.py")
print(file_list)

returns 列表

['./folder1', './folder2', './folder3', './folder4', './folder5']

我愿意

['folder1', 'folder2', 'folder3', 'folder4', 'folder5']

这可以通过列表理解和 str.lstrip() 方法来完成。

folders = ['./folder1', './folder2', './folder3', './folder4', './folder5']

folders = [x.lstrip('./') for x in folders]

returns:

['folder1', 'folder2', 'folder3', 'folder4', 'folder5']

对于此类内容,我更喜欢使用 pathlib 模块。例如,如果你只想得到目录名,你可以这样做:

from pathlib import Path

file_list = [d.name for d in Path('.').iterdir() if d.is_dir()]
print(file_list)