title: Getting a unique hardware ID with Python
body: <p>I have a process that requires me to identify different machines, and I'm not sure what's the best way to do it.
  I do not want to save that ID on a text file or something, but I want to generate it from hardware every time I need it (in case the text with the ID gets deleted or something)</p>
  
  <p>I've checked <a href="https://docs.python.org/3/library/uuid.html" rel="noreferrer">UUID</a>, and it seems ok but I'm not sure.
  I've taken a look at <strong>uuid.getNode()</strong>, but I have 2 problems with it: <br></p>
  
  <ol>
  <li><p>One part says "If all attempts to obtain the hardware address fail, we choose a random 48-bit number with its eighth bit set to 1 as recommended in RFC 4122", which means that I may get a different unique on some systems for some reason - is there a way to identify which time it failed and generate something else?</p></li>
  <li><p>another part says: " “Hardware address” means the MAC address of a network interface, and on a machine with multiple network interfaces the MAC address of any one of them may be returned.", which means if i have 2 different network adapters, each call I may get any one of them? that's not good for me.</p></li>
  </ol>
  
  <p>If you have a better way of obtaining a unique ID for a machine, that I can generate each time and won't have to worry about deletion of it or something - I'd be glad to hear it. all of my attempts to find something have failed.
  Thanks.</p>