2019 উত্তর (উইন্ডোজ জন্য):
আপনি যদি স্থায়ী ইউআইডি চান যা কোনও উইন্ডোজটিতে কোনও মেশিনকে স্বতন্ত্রভাবে সনাক্ত করে, আপনি এই কৌশলটি ব্যবহার করতে পারেন: ( https://stackoverflow.com/a/58416992/8874388 এ আমার উত্তরটি অনুলিপি করা হয়েছে )।
from typing import Optional
import re
import subprocess
import uuid
def get_windows_uuid() -> Optional[uuid.UUID]:
try:
# Ask Windows for the device's permanent UUID. Throws if command missing/fails.
txt = subprocess.check_output("wmic csproduct get uuid").decode()
# Attempt to extract the UUID from the command's result.
match = re.search(r"\bUUID\b[\s\r\n]+([^\s\r\n]+)", txt)
if match is not None:
txt = match.group(1)
if txt is not None:
# Remove the surrounding whitespace (newlines, space, etc)
# and useless dashes etc, by only keeping hex (0-9 A-F) chars.
txt = re.sub(r"[^0-9A-Fa-f]+", "", txt)
# Ensure we have exactly 32 characters (16 bytes).
if len(txt) == 32:
return uuid.UUID(txt)
except:
pass # Silence subprocess exception.
return None
print(get_windows_uuid())
কম্পিউটারের স্থায়ী ইউআইডি পাওয়ার জন্য উইন্ডোজ এপিআই ব্যবহার করে, তারপরে এটি কার্যকর বৈধ ইউআইডি হওয়ার জন্য স্ট্রিংটি প্রক্রিয়া করে এবং শেষ পর্যন্ত একটি পাইথন অবজেক্ট ( https://docs.python.org/3/library/uuid.html ) দেয় যা আপনাকে সুবিধাজনক দেয় ডেটা ব্যবহারের উপায়গুলি (যেমন 128-বিট ইন্টিজার, হেক্স স্ট্রিং ইত্যাদি)।
শুভকামনা!
পিএস: সাব-প্রসেস কলটি সম্ভবত উইন্ডোজ কার্নেল / ডিএলএলকে সরাসরি কল করে সিটিপস দিয়ে প্রতিস্থাপন করা যেতে পারে। তবে আমার উদ্দেশ্যে এই ফাংশনটি আমার প্রয়োজন I এটি শক্তিশালী বৈধতা দেয় এবং সঠিক ফলাফল দেয়।