我正在为本地网络写一个聊天程序。我希望能够识别计算机,并获得用户设置的计算机名称与Python。
当前回答
使用套接字及其gethostname()功能。这将得到运行Python解释器的计算机的主机名:
import socket
print(socket.gethostname())
其他回答
从至少python >= 3.3:
你可以使用字段nodename,避免使用数组索引:
os.uname().nodename
虽然,甚至os的文档。Uname建议使用socket.gethostname()
这两个都是非常可移植的:
import platform
platform.node()
import socket
socket.gethostname()
任何使用HOST或HOSTNAME环境变量的解决方案都不能移植。即使它在您的系统上运行时可以工作,但在cron等特殊环境中运行时可能无法工作。
使用socket.getfqdn()获取完全限定的主机名
import socket
print socket.getfqdn()
你必须执行这行代码
sock_name = socket.gethostname()
然后你可以使用名称来查找地址:
print(socket.gethostbyname(sock_name))
使用套接字及其gethostname()功能。这将得到运行Python解释器的计算机的主机名:
import socket
print(socket.gethostname())