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)
我正在使用 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)