আপনার শিরোনামে প্রশ্নের উত্তর দেওয়ার জন্য তবে আপনি যে বিশেষ কেস সরবরাহ করেছেন তা নয়, এটি পুরোপুরি সঠিক, অনেকগুলি প্যাকেজ এটি করে। ব্যবহারকারীর উপর নির্ভর করার পরিবর্তে নিজেই ওএসটি বের করা আরও ভাল; এখানে পাইসারিয়াল এটি উদাহরণ হিসাবে করছে।
serial/__init__.py
import sys
if sys.platform == 'cli':
from serial.serialcli import Serial
else:
import os
# chose an implementation, depending on os
if os.name == 'nt': # sys.platform == 'win32':
from serial.serialwin32 import Serial
elif os.name == 'posix':
from serial.serialposix import Serial, PosixPollSerial, VTIMESerial # noqa
elif os.name == 'java':
from serial.serialjava import Serial
else:
raise ImportError(
"Sorry: no implementation for your platform ('{}') available".format(
os.name
)
)
এটি কেবলমাত্র সেই ক্ষেত্রেই ব্যবহার করা উচিত যেখানে আপনি ধরে নিচ্ছেন এবং দৃ interface় গ্যারান্টি দরকার যা নির্দিষ্ট ইন্টারফেস / বৈশিষ্ট্যগুলি থাকবে: যেমন একটি ফাইল ' /dev/ttyX। আপনার ক্ষেত্রে: জেএসওনের সাথে কাজ করে এমন কিছুই নেই যা আসলে ওএস-নির্দিষ্ট এবং আপনি কেবল প্যাকেজটি উপস্থিত আছে কিনা তা পরীক্ষা করে দেখছেন। সেক্ষেত্রে, শুধু tryএটা আমদানি করতে হয় এবং ফল-ব্যাক একটি সঙ্গে exceptতা করতে ব্যর্থ হলে:
try:
import some_specific_json_module as json
except ImportError:
import json
platform.platform()/ প্ল্যাটফর্ম এইচটিএমএল বাplatform.system()প্রত্যেকবার কোডটি চালানোর সময় কোনও ব্যবহারকারীকে কিছু ইনপুট দেওয়ার চেয়ে আপনার যা প্রয়োজন তা করা উচিত।