比较并打印python中的大写字符串
我需要比较我的grepoutput.txt和MyList中的单词,并打印出那些常见的单词,但是我得到的是单个字母作为输出,没有任何比较。请帮忙。多谢各位比较并打印python中的大写字符串,python,string,list,Python,String,List,我需要比较我的grepoutput.txt和MyList中的单词,并打印出那些常见的单词,但是我得到的是单个字母作为输出,没有任何比较。请帮忙。多谢各位 MyList = ['WORD1', 'WORD2', 'WORD3'] file = open('/home/~/grepoutput.txt','r') data = file.read() file.close() for line in data: for content in line.split():
MyList = ['WORD1', 'WORD2', 'WORD3']
file = open('/home/~/grepoutput.txt','r')
data = file.read()
file.close()
for line in data:
for content in line.split():
if content in MyList:
print content
grepoutput.txt由以下部分组成:
你好
世界
字1
字2
字3
字4
我也尝试过使用集合逻辑,但没有成功
setoutput = set(MyList) & set(content)
print setoutput
以下是输出:
[]
searching now...
W
set(['W'])
O
set(['O'])
R
set(['R'])
D
set(['D'])
1
set(['1'])
set(['\n'])
W
set(['W'])
O
set(['O'])
R
set(['R'])
D
set(['D'])
2
set(['2'])
set(['\n'])
W
set(['W'])
O
set(['O'])
R
set(['R'])
D
set(['D'])
3
set(['3'])
set(['\n'])
H
set(['H'])
e
set(['e'])
l
set(['l'])
l
set(['l'])
o
set(['o'])
set(['\n'])
我想您正在查找
file.readlines()
file.read()
将创建一个字符串,因此您将迭代该字符串的每个字符file.readlines()
将创建一个字符串列表,其中每个字符串都是文件的一部分,由换行符分隔。帮助说明了这一点。您正在寻找方法吗if content.upper()在我的列表中:print(content.upper())
将进行不区分大小写的比较,并以全大写打印内容。如果是,那么这个问题对于初学者来说是一个问题,file.read()
返回一个字符串,因此当你对数据中的行执行,你实际上是在重复文件中的每个字母。@AndréI编辑了这个问题,请看清楚@Kevin试图告诉你data=file.read()返回包含整个文件的字符串。如果您想查看单个行,请执行readlines。()而不是read()。您可以通过read()获得所有单词。upper()。split()谢谢您的建议,各位,我将在能够发布解决方案时发布
import re
MyList = ['WORD1', 'WORD2', 'WORD3']
file = open('/home/chi/Desktop/hello/grepoutput.txt','r')
data = file.readlines() #THIS
file.close()
for line in data:
for content in line.split():
if content in MyList:
print content