我需要删除我通过的列表中重复的进程名称os.popen("wmic process get name").read().split(),我很困,也许我只是没有看到一些基本的东西?
process_list = os.popen("wmic process get name").read().split()
current_id = 0
for current_process in process_list:
try:
current_id += 1
print(current_process)
if current_process == process_list[current_id]:
print("Oops!")
process_list.remove(current_process)
except IndexError:
pass
print(process_list)
我尝试先通过索引删除,然后我做了这个。效果应该是相同的 - 所有重复都成功并且只留下一个结果,但它们显示相同 - 只有重复)
迭代循环时不需要从中删除元素。最好制作一个新列表,例如:
在一行中:
PS。
strip()需要删除空格和换行符,例如,进程名称'wininit.exe \n'将变为'wininit.exe'更简单的列表选项:
您可以使用瑞士刀 - 收藏:
根据@andreymal 的提示: