On Thursday, May 10, 2012, Afonso Duarte <adua...@itqb.unl.pt> wrote: > Dear All, > > > > I’m new to Python and started to use it to search text strings in big (>500Mb) txt files. > > I have a list on text file (e.g. A.txt) that I want to use as a key to search another file (e.g. B.txt), organized in the following way: > > > > A.txt: > > > > Aaa > > Bbb > > Ccc > > Ddd > > . > > . > > . > > > > B.txt > > > > Bbb > > 1234 > > Xxx > > 234 > > > > > > I want to use A.txt to search in B.txt and have as output the original search entry (e.g. Bbb) followed by the line that follows it in the B.txt (e.g. Bbb / 1234). > > I wrote the following script: > > > > > > object = open(B.txt', 'r') > > lista = open(A.txt', 'r') > > searches = lista.readlines() > > for line in object.readlines(): > > for word in searches: > > if word in line: > > print line+'\n' > > > > > > > > But from here I only get the searching entry and not the line afterwards, I tried to google it but I got lost and didn’t manage to do it. > > Any ideas ? I guess that this is basic scripting but I just started .
Not sure I understood the question... But: - are you trying to "grep" the text file? (simpler than programming in python, IMO) - if you have multiple matches of any of the keys from A file in a sungle line of B file, the script above will print it multiple times - you need not add new line (\n) in the print statement, unless you want it to print a blank line between results Based on the example you gave, the matching Bbb value in B and A are the same, so actually line is being printed, but it is just the same as word... > > > > Best > > > > Afonso -- Sent from Gmail Mobile
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor