Find hostname of a computer - Python
There are several ways to find the hostname of a computer in Python. The "socket" module in Python provides access to the BSD socket interface. It is available on all modern Unix systems, Windows, Mac OS X, BeOS, OS/2, and probably additional platforms. In order to get the hostname of a computer, you can use socket and its gethostname() functionality. The gethostname() return a string containing the hostname of the machine where the Python interpreter is currently executing.
How to get fully qualified host name?
The gethostname() doesn't always return the fully qualified domain name. The socket.getfqdn([name]) return a fully qualified domain name for name. If name is omitted or empty, it is interpreted as the local host.
The platform module in Python includes tools to see the platform's hardware, operating system , and interpreter version information where the program is running. The platform.node() returns the computer's network name.
Any solutions using the HOST or HOSTNAME environment variables are not portable . Even if it works on your system when you run it, it may not work when run in special environments such as cron.
How to get username of a computer
The os module in Python provides a portable way of using operating system dependent functionality. The os.uname() return a 5-tuple containing information identifying the current operating system, but it is available only on unix-like systems.