On Wed, Mar 31, 2021 at 11:21 PM Loris Bennett <loris.benn...@fu-berlin.de> wrote: > > Hi, > > I want to get a list of users on a Linux system using Python 3.6. All > the users I am interested in are just available via LDAP and are not in > /etc/passwd. Thus, in a bash shell I can use 'getent' to display them. > > When I try to install the PyPi package > > getent > > I get the error > > File "/tmp/pip-build-vu4lziex/getent/setup.py", line 9, in <module> > long_description = file('README.rst').read(), > NameError: name 'file' is not defined > > I duckduckwent a bit and the problem seems to be that 'file' from Python > 2 has been replaced by 'open' in Python 3. > > So what's the standard way of getting a list of users in this case? >
I don't have LDAP experience so I don't know for sure, but is the stdlib "pwd" module suitable, or does it only read /etc/passwd? https://docs.python.org/3/library/pwd.html Failing that, one option - and not as bad as you might think - is simply to run getent using the subprocess module, and parse its output. Sometimes that's easier than finding (or porting!) a library. ChrisA -- https://mail.python.org/mailman/listinfo/python-list