[英]Python module win32com on Linux
我正在編寫一些在多個平台下運行的Python代碼。 不幸的是,在Win32下,我必須支持一些COM功能。
但是這些行在Linux環境下會失敗:
from pythoncom import PumpWaitingMessages
from pythoncom import Empty
from pythoncom import Missing
from pythoncom import com_error
import win32api
並且使用Win32 COM API的所有其他函數也將失敗。 確保根據平台不加載/導入某些代碼並在接口客戶端調用它們時給出錯誤消息/異常的標准方法是什么?
try:
from pythoncom import PumpWaitingMessages
from pythoncom import Empty
from pythoncom import Missing
from pythoncom import com_error
import win32api
except ImportError:
# handle exception
有異常時該怎么辦取決於您。 您可以添加提供類似接口的特定於Linux的代碼,或者您可以使用warnings
模塊告訴用戶某些功能/功能不可用。
或者,你可以使用一個if-statement
基於價值sys.platform
:
import sys
if sys.platform == "win32":
...
elif sys.platform == 'cygwin':
...
elif sys.platform[:5] == 'linux':
...
elif sys.platform == 'darwin':
...
else:
...
對於跨平台代碼可能很重要的其他值可以是os.name (可以等於'posix'
, 'nt'
, 'os2'
, 'ce'
, 'java'
, 'riscos'
)或platform.architecture (這可能等於('32bit', 'ELF')
。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.