获得运行python脚本的Windows电脑的名字?

基本上,我的networking上有几台Windows电脑,将运行一个python脚本。 应该在脚本中使用一组不同的configuration选项,具体取决于运行此脚本的计算机。

我将如何获得在python脚本中的计算机名称?

假设这个脚本运行在名为DARK-TOWER的计算机上,我想写下这样的内容:

>>> python.library.get_computer_name() 'DARK-TOWER' 

有我可以使用的标准或第三方库吗?

原来有三种select(包括之前已经回答的两个):

 >>> import platform >>> import socket >>> import os >>> platform.node() 'DARK-TOWER' >>> socket.gethostname() 'DARK-TOWER' >>> os.environ['COMPUTERNAME'] 'DARK-TOWER' 
 import socket socket.gethostname() 

由于python scrips确实在Windows系统上运行,所以应使用Win32 API GetComputerName或GetComputerNameEx

您可以获取完全合格的DNS名称或NETBIOS名称,或各种不同的东西。

 import win32api win32api.GetComputerName() >>'MYNAME' 

要么:

 import win32api WIN32_ComputerNameDnsHostname = 1 win32api.GetComputerNameEx(WIN32_ComputerNameDnsHostname) >> u'MYNAME' 

Eric Carr说你可以使用这三个变种。

我更喜欢一起使用它们:

 def getpcname(): n1 = platform.node() n2 = socket.gethostname() n3 = os.environ["COMPUTERNAME"] if n1 == n2 == n3: return n1 elif n1 == n2: return n1 elif n1 == n3: return n1 elif n2 == n3: return n2 else: raise Exception("Computernames are not equal to each other") 

在开发交叉应用程序时,我更喜欢它;)

我敢打赌, gethostname将工作得很好。