首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最后的空格仍在数据后循环遍历和替换

最后的空格仍在数据后循环遍历和替换
EN

Stack Overflow用户
提问于 2015-04-10 22:53:59
回答 2查看 36关注 0票数 0

我遇到了一个令人难以置信的问题,我试图删除数据keyword.txt的所有空格,只保留字母字符串。但是,在循环遍历并将每个空格替换为空字段后,输出中仍然会看到一个新的行,因此会造成另一个输出的混乱。

我不知道该怎么做。

剧本:

代码语言:javascript
复制
#!/usr/bin/python

kf = open ('keyword.txt', 'r')
sl = open ('syslog.txt', 'r')

keywordList = []

for keyword in kf:
    keyword = keyword.replace('\n', "")
    keywordList.append(keyword)
    print keyword

for string in sl:
    for keyword in keywordList:
        if keyword in string:
            print "**"+keyword+"**"

它产生的输出的一个示例:

代码语言:javascript
复制
**anacron**
****
**anacron**
****
**CRON**
****

您可以看到****出现在行中,因为它将空空间识别为关键字。这就是问题所在。

keyword.txt

代码语言:javascript
复制
NetworkManager
avahi-daemon
dnsmasq
dbus
kernel
dhclient
CRON
bluetoothd
failsafe
modem-manager
udev-configure-printer
modem-manager
polkitd
anacron
acpid
rt-kit daemon
goa
AptDaemon
AptDaemon.PackageKit
AptDaemon.Worker
python
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-10 22:56:50

看起来,空格不是每个单词的一部分,而是一个单独的单词。

试着读像这样的文件

代码语言:javascript
复制
kf = [x.strip() for x in open('keyword.txt', 'r') if not x.strip() == '']

然后像你正在做的那样循环遍历列表。

其他变体包括

代码语言:javascript
复制
kf = [x.strip() for x in open('keyword.txt', 'r') if x.strip() != '']

kf = [x.strip() for x in open('keyword.txt', 'r') if x.strip()]

如评论中所述

票数 2
EN

Stack Overflow用户

发布于 2015-04-10 23:15:26

您的KeywordList可能包含重复的关键字。尝试使用set来代替:

代码语言:javascript
复制
keywords = set()

for keyword in kf:
    keyword = keyword.replace('\n', "")
    keywords.add(keyword)
    print keyword

for string in sl:
    for keyword in keywords:
        if keyword in string:
            print "**"+keyword+"**"

我用这些数据做了试验,结果成功了.

代码语言:javascript
复制
kf = ['anacron\n','anacron\n','CRON\n']
sl = ['a sentence with anacron\n','another sentence\n', 'one more\n', 'anacron\n','finally\n','one with CRON\n']
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29571885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档