John Machin wrote: > Gallagher, Tim (NE) wrote: > > I am new to python and I want to compare 2 strings, here is my code: > > [start] > > > > import active_directory > > import re > > > > lstUsers = [] > > Using "lst" or "l" as a variable name is bad news in any language; with > many fonts they are too easily misread as "1st" or "1" respectively. > > > users = active_directory.root() > > for user in users.search ("sn='gallagher'"): > > **** Insert here: > print type(user.samAccountName), repr(user.samAccountName) > **** that may indicate where your problem *starts* > **** Then read the documentation for the active_directory module, in > particular what it says about the attributes of the objects in the > sequence returned by users.search. > > > > lstUsers.append(user.samAccountName) > > > > print "----------------------------------------" > > lstUsers.sort() > > > > ## Printing out what is inside of the arrar(list) > > What is "arrar(list)" ?? > > **** Here insert this code: > print lstUsers > **** Look at the elements in the list; do you see ..., 'None', ... or > do you see ..., None, ... > > > x = 0 > > while x < len(lstUsers): > > *Please* consider using a "for" statement: > > for item in lstUsers: > do_something_with(item) > > > if re.compile(lstUsers[x]).match("None",0): > > 1. Python or not, using regular expressions to test for equality is > extreme overkill. Use > if lstUsers[x] == "None": > 2. Python or not, it is usual to do > re.compile(constant pattern).match(variable_input) > not the other way around. > 3. The second arg to match defaults to 0, so you can leave it out. > > > > print "Somthing here" > > > > x = x + 1 > > > > [/end] > > > > When I do the: > > if re.compile(lstUsers[x]).match("None",0): > > print "Somthing here" > > > > Some of the items in lstUsers[x] are the word None. > > I am not sure why I cant do this > > > > I want to compare lstUsers[x] to the word "None", how can I do this. > > You *have* compared lstUsers[x] to the word "None" -- with the re > sledgehammer, but you've done it. Maybe what's in there is *not* the > string "None" :-) > > HTH, > John
it is really lstusers (it is an L not a # 1), Some of the output from print lstUsers has the output of None. I and trying to filter the None out of the list. I come from a perl background and this is how I do thing in perl TIm -- http://mail.python.org/mailman/listinfo/python-list