python - 如何在python中将安装路径与通配符应用程序名称进行比较
问题描述
我想在 python 中遍历一个数据框,并以此摆脱完整的安装路径。所以只有应用程序名称,例如 firefox.exe 或 firefox 应该被解释,而不是“C:\Program Files\Mozilla Firefox\firefox.exe”。
我创建了一个函数,该函数采用相应的数据帧和一个包含键值对的字典,其中应用程序名称作为键(firefox),通配符路径作为值(*firefox.exe)。
def transform_process_name(mid_result_df, name_dict):
for row, col in mid_result_df.iterrows():
for name, value in name_dict.items():
print(name)
print(value)
if col['ProcessName'] == value:
col['ProcessName'] = name
return mid_result_df
this 在函数中调用如下:
transform_process_name(mid_result_df, __name_of_processes)
在哪里
__name_of_processes =
{
'firefox': '*firefox.exe',
}
比较不起作用。所以输出仍然是“C:\Program Files\Mozilla Firefox\firefox.exe”而不是“firefox”。
谢谢 :)
编辑: 它现在适用于
def transform_process_name(mid_result_df, name_dict):
for row, col in mid_result_df.iterrows():
for name, value in name_dict.items():
string_check = col['ProcessName']
if string_check.endswith(value):
mid_result_df.at[row, 'ProcessName'] = name
return mid_result_df
解决方案
我认为您不能==
用来比较“C:\Program Files\Mozilla Firefox\firefox.exe”和“*firefox.exe”。我想你可能想更换
if col['ProcessName'] == value:
和
if value in col['ProcessName']:
或者
if col['ProcessName'].endswith(value):
并且value
应该是“firefox.exe”。
编辑:
这是我的代码:
import pandas as pd
def transform_process_name(mid_result_df, name_dict):
for row, col in mid_result_df.iterrows():
for name, value in name_dict.items():
if value in col['ProcessName']:
# if col['ProcessName'].endswith(value):
col['ProcessName'] = name
else:
col['ProcessName'] = col['ProcessName']
return mid_result_df
mid_result_df = pd.DataFrame({'ProcessName': ['C:\\Program Files\\Mozilla Firefox\\firefox.exe']})
name_dict = {'firefox': 'firefox.exe'}
result = transform_process_name(mid_result_df, name_dict)
print(result)
推荐阅读
- java - 在主 if 语句中使用返回方法进行字符串比较
- c++ - 在计算着色器中使用深度纹理
- angular - 如何保持 Angular 组件的最新状态?
- javascript - 再次使用我从 node.JS 中的请求函数获得的数据,直到满足条件
- android - 如何为 Exoplayer 360 视频启用 GyroSensors
- excel - Excel VBA 运行时错误 13 与 Select Case
- angular - NGRX / RXJS:如何将可观察流递归映射到单个平面流
- azure - 如何从 Azure Monitor 导出数据以获得无限保留?
- flutter - 是否可以使用 charts_flutter 绘制带有值流的实时图表?
- python - Change label text in widget via mainwindow