2

MSDN 模板参数

总是$machinename$大写?我想根据这个返回值编写一些代码,但是 Pythonsocket.gethostname()返回“Mark-PC”而$machinename$返回“MARK-PC”。如果是这样,我将只是.upper()主机名,但我应该这样做似乎有点愚蠢。为什么不一致?

4

1 回答 1

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
于 2011-02-27T06:37:57.920 回答