我有一个过程,要求我识别不同的机器,我不知道什么是最好的方法。我不想将该ID保存在文本文件或其他文件中,但每次需要时,我都希望从硬件中生成ID (以防带有ID的文本被删除或其他)。
我查过UUID了,看上去没问题,但我不确定。我看过uuid.getNode(),,但是我有两个问题:
如果你有一个更好的方法为一台机器获得一个唯一的ID,我可以每次生成,而不必担心删除它或其他什么-我很高兴听到它。我所有的尝试都失败了。谢谢。
发布于 2016-07-12 12:19:55
你可以用dmidecode
。
Linux:
import subprocess
def get_id():
return subprocess.Popen('hal-get-property --udi /org/freedesktop/Hal/devices/computer --key system.hardware.uuid'.split())
窗口:
注意:需要用于Windows的dmidecode
import subprocess
def get_id():
return subprocess.Popen('dmidecode.exe -s system-uuid'.split())
Cross-platform:
注意:需要用于Windows的dmidecode
import subprocess
import os
def get_id():
if 'nt' in os.name:
return subprocess.Popen('dmidecode.exe -s system-uuid'.split())
else:
return subprocess.Popen('hal-get-property --udi /org/freedesktop/Hal/devices/computer --key system.hardware.uuid'.split())
发布于 2016-10-10 11:40:35
请注意,您可以从Windows获得相同的UUID,而无需使用以下命令安装任何其他软件:
C:\> wmic csproduct get uuid
发布于 2016-10-16 20:55:14
对于windows,每次基于MAC地址的por每个设备都得到相同的uuid:
(uuid.uuid1(uuid.getnode(),0))24:
但是它似乎没有在Android4.4.2上保留相同的ID。
https://stackoverflow.com/questions/38328176
复制相似问题