8
Szukam odpowiednika Python z C-API PyObject_CheckBuffer Python.Sprawdź, czy obiekt obsługuje protokół buforowy python
tj. Chciałbym sprawdzić, czy obiekt obsługuje protokół buforowy, ale z Python.
Szukam odpowiednika Python z C-API PyObject_CheckBuffer Python.Sprawdź, czy obiekt obsługuje protokół buforowy python
tj. Chciałbym sprawdzić, czy obiekt obsługuje protokół buforowy, ale z Python.
Myślę, że po prostu powinien używać średnia try-on-a-zobacz-if-it works technika:
# New-style buffer API, for Python 2.7 and 3.x.
# PyObject_CheckBuffer uses the new-style API.
# 2.6 also has the new-style API, but no memoryview,
# so you can't use it or check compatibility from Python code.
try:
memoryview(thing)
except TypeError:
# Doesn't support it!
# Old-style API. Doesn't exist in 3.x.
# Not quite equivalent to PyObject_CheckBuffer.
try:
buffer(thing)
except TypeError:
# Doesn't support it!
NameError: nazwa 'bufor' nie jest zdefiniowane –
@HristoVenev Musisz używaj Pythona 3, w takim przypadku powinieneś użyć słowa kluczowego 'widok pamięci' zamiast' bufora'. Zalecaną bezpieczną wersją jest sprawdzenie sys.version_info na górze w pobliżu instrukcji importowania. Jeśli jest większa niż (3), wtedy zdefiniuj 'buffer = memoryview', następnie możesz użyć' buffer' w Pythonie 2 lub 3. – ely