$machinename$
是否总是大写?我想根据此返回值编写一些代码,但Python的socket.gethostname()
返回“Mark-PC”而$machinename$
返回“MARK-PC”。如果是这样,我只会.upper()
主机名,但似乎有点愚蠢,我应该这样做。为什么不一致?
答案 0 :(得分:3)
区别在于$ machinename $返回NetBIOS名称,socket.gethostname()返回主机名。即使Windows通常以相同的名称命名它们,它们也是不同的东西。如果更改Windows系统设置中的主DNS后缀,则主机名API在技术上可以返回不同的结果。 (此时它将是机器名+后缀)
这是系统级别,并非特定于python,如等效的C#API所示:
System.Net.Dns.GetHostName() --> method would return Mark-PC
Environment.MachineName --> property would return MARK-PC