Reputation: 46899
I have a file name exclusionlist.txt and i have contents in it like
import os
import re
import subprocess
......and many more
I have another file named libraries.txt and the contents of this file are
import mymodule
import empmodule,os
import subprocess
import datetime,logging,re
.......and many more
My question is that from python how to know that the contents which are in exclusionlist.txt is also present in libraries.txt since here it is jumbled up..
f = open('exclusionlist.txt', 'r')
f.read()
f1= open('libraries.txt', 'r')
f1.read()
if (//Is contents of f1 present in f2):
print libraries found
else:
print not found
f.close()
f1.close()
Upvotes: 0
Views: 468
Reputation: 91094
Use set intersection:
def readImports(path):
with open(path) as f:
for line in f:
# lines of form "import ___,___"
# assuming not of form "from ___ import ___ [as ___]"
if 'import' in line:
modules = line.split('import')[1]
for module in modules.split(','):
yield module.strip()
linesInExclusion = set(readImports('exclusionlist.txt'))
linesInLibraries = set(readImports('libraries.txt'))
print(linesInExclusion.intersection(linesInLibraries))
You can do return (line.strip() for line in f if line.strip()!='')
if you want to be perfect...
Upvotes: 1