filename = r"D:\PythonFiles\Python_File.txt"
f = open(filename)
List1 = ['E','H']
for line in f:
if line == List1:
print(line)
执行此操作时,所有出现的内容都是txt文件的全部内容:
H
E
L
L
O
所有应该打印的是:
H
E
答案 0 :(得分:2)
我认为上面的答案是你正在寻找的。但是,为了完整性,并且因为这是一个更好的方式来做你要求做的事情,我还建议使用一个集合交集:
In [20]: f = open('file.txt').read().split('\n') # Since readlines keeps newlines
...: interesting = ['E', 'H']
...: set(interesting) & set(f)
...:
Out[20]: {'E', 'H'}
答案 1 :(得分:0)
使用in
,因为它会告诉您某些内容 。
filename = r"D:\PythonFiles\Python_File.txt"
f = open(filename)
List1 = ['E','H']
for line in f:
## Use the 'in' operator here instead of '=='
if line in List1:
print(line)
## If List1 is going to be dynamic
## else:
## List1.append(line)
答案 2 :(得分:0)
# Iterate File contents Line by Line
for line in f.readlines():
# Remove leading NewLine and Test if line in List1
if line.strip() in List1:
# Print's line with NewLine
print(line)
答案 3 :(得分:-1)
试一试:
filename = r"D:\PythonFiles\Python_File.txt"
f = open(filename, 'r')
List1 = ['E','H']
for line in f.readlines():
if line in List1:
print(line)