我有一个包含类似于给定格式的数据的文件
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"] ...
关于python - 在python中搜索特定字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22380544/