ในการตอบคำถามในชื่อเรื่องของคุณแต่ไม่ใช่ในกรณีที่คุณระบุมันถูกต้องอย่างสมบูรณ์แพ็คเกจมากมายทำเช่นนี้ อาจเป็นการดีกว่าที่จะหาระบบปฏิบัติการด้วยตัวเองแทนที่จะพึ่งพาผู้ใช้ นี่คือ pySerial ทำเพื่อเป็นตัวอย่าง
serial/__init__.py
import sys
if sys.platform == 'cli':
from serial.serialcli import Serial
else:
import os
if os.name == 'nt':
from serial.serialwin32 import Serial
elif os.name == 'posix':
from serial.serialposix import Serial, PosixPollSerial, VTIMESerial
elif os.name == 'java':
from serial.serialjava import Serial
else:
raise ImportError(
"Sorry: no implementation for your platform ('{}') available".format(
os.name
)
)
นี้ควรจะใช้เฉพาะในกรณีที่คุณกำลังสมมติและจำเป็นต้องมีการรับประกันที่แข็งแกร่งที่อินเตอร์เฟซบาง / คุณสมบัติจะมี: เช่น 'ไฟล์' /dev/ttyXที่เรียกว่า ในกรณีของคุณ: การจัดการกับ JSON ไม่มีอะไรที่เป็นระบบปฏิบัติการเฉพาะและคุณกำลังตรวจสอบว่ามีแพ็คเกจอยู่หรือไม่เท่านั้น ในกรณีนั้นเพียงแค่tryนำเข้าและถอยกลับด้วยexceptif ล้มเหลว:
try:
import some_specific_json_module as json
except ImportError:
import json
platform.platform()หรือplatform.system()ควรทำในสิ่งที่คุณต้องการแทนที่จะให้ผู้ใช้ป้อนข้อมูลทุกครั้งที่เรียกใช้โค้ด