簡體   English   中英

如何從Python擴展程序檢查輸入變量的有效性?

[英]How do I check input variable validity from a Python extension?

我有一個用C ++編寫的Python擴展,期望將bytearray作為第一個參數。 它可以正常工作,但是如果我從Python傳遞其他內容(例如字符串或數字),則會出現分段錯誤。 如何檢查輸入是否確實是字節數組,然后在其他情況下引發異常?

這應該會有所幫助: http : //docs.python.org/2/faq/extending.html#id8

為了測試的對象的類型,首先要確保它不是NULL ,然后用PyString_Check() PyTuple_Check() PyList_Check()等等。

具體來說,您看起來像這樣: http : //docs.python.org/2/c-api/bytearray.html#type-check-macros

int PyByteArray_Check(PyObject *o)

如果對象o是字節數組對象或字節數組類型的子類型的實例,則返回true。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM