Skip to main content
 首页 » 编程设计

python之在python中搜索特定字符串

2025年05月04日25birdshome

我有一个包含类似于给定格式的数据的文件

Name  :  Neha xxxxx 
Title  :  ENGINEER.xxxxx xxxxxx 
Employee number  :  27xxx 
Status : Active 
User ID :  nehxxx 
Manager ID  :  xxxx 
Manager : Krisxxxxxxxx 

此数据将按顺序插入数据库。为此,我首先通过以下代码构建列表

filename = "LDAPFile.txt" 
lines = open(filename).read().splitlines() 
 
#print lines 
for item in lines: 
    if('Name') in item: 
        Name = item.split(':')[1] 
        #print Name[1] 
    if('Title') in item: 
        Title = item.split(":")[1] 
        #print Title[1] 
    if('Employee number') in item: 
        ENO = item.split(":")[1] 
        #print ENO 
    if('Status') in item: 
        Status = item.split(":")[1] 
        #print Status 
    if('User ID') in item: 
        UID = item.split(":")[1] 
        #print UID 
    if('Manager ID') in item: 
        MID = item.split(":")[1] 
        #print MID 
        #print len(MID) 
    if('Manager') in item: 
        MANAGER = item.split(":") 
        print MANAGER 
        #print len(MANAGER) 

但是,if('Manager') in item: 会产生经理 ID 和经理。如何专门搜索 Manager ?

请您参考如下方法:

您可以做的最小更改是:

if item.startswith("Manager :"): 

这会很有效,因为您不必搜索整个字符串,并且会避免在其他地方找到相同的字符串。

但是,您可以按如下方式改进整个代码:

data = {} 
for item in lines: 
    try: 
        key, value = item.split(":") 
    except ValueError: 
        pass # ignore line - not in expected format 
    else: 
        data[key.strip()] = value.strip() 

您现在可以访问data 字典中的字段

data["Manager"] ...