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

标签 python file python-2.7

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

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/

相关文章:

php - 如何使用 PHP 替换 php 页面中的 js 文件路径?

python - ProtocolError IncompleteRead 使用请求

python - PyQt - 使用 pandas DataFrame 在 QAbstractTableModel (QTableView) 中加载 SQL - 在 GUI 中编辑数据

python - Apache Airflow : Delay a task for some period of time

python - 通过脚本运行 Scrapy spider & 配置输出文件的设置

c# - 在 .NET 中获取 DLL 的详细信息

python : Count frequences in dictionary

Python 套接字错误 : [Errno 104] Connection reset by peer

python - 比较其他 Pandas 数据框每一行的值(value)

file - 无法在 Ada 95 中创建文件