如何将所有进程转为字符串?优化代码实现一行展示去.exe后缀进程
嘿,这两个问题我都熟,给你一步步讲清楚!
问题1:如何将系统中所有进程转换为一个字符串?
要把所有进程转成一个字符串,核心思路就是先把所有进程名收集到一个列表里,再用字符串的join()方法把列表元素拼接起来就行。用psutil的话可以这么写:
import psutil # 收集所有进程名称到列表 process_names = [proc.name() for proc in psutil.process_iter()] # 把列表转成用逗号分隔的字符串 process_str = ', '.join(process_names) print(process_str)
这样process_str就是包含所有进程名的字符串啦,你可以根据需要调整分隔符(比如换成空格、分号都行)。
问题2:修改代码实现一行展示所有进程名称并去除.exe后缀
原来的代码是逐个打印进程名,现在要改成一行展示还得去掉.exe后缀,咱们可以这么改:
import psutil # 收集去后缀后的进程名,用removesuffix更安全(Python 3.9+支持) clean_processes = [proc.name().removesuffix('.exe') for proc in psutil.process_iter()] # 用逗号分隔拼接成一行打印 print(', '.join(clean_processes))
要是你的Python版本低于3.9,没有removesuffix方法,也可以用字符串切片来处理(兼顾非.exe结尾的进程名):
clean_processes = [proc.name()[:-4] if proc.name().endswith('.exe') else proc.name() for proc in psutil.process_iter()]
这样处理后,输出就会是类似chrome, opera, svhost, ...的格式,完全符合你的需求~
内容的提问来源于stack exchange,提问作者user12951028
相关产品推荐
相关产品推荐

