Что такое подходящий буфер для модуля структуры Python

Дайте этому попытку:

SELECT
    CONSTRAINT_CATALOG AS DataBaseName,
    CONSTRAINT_SCHEMA AS SchemaName,
    TABLE_NAME AS TableName,
    CONSTRAINT_Name AS PrimaryKey
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS 
WHERE CONSTRAINT_TYPE = 'Primary Key' and Table_Name = 'YourTable'
9
задан mdm 14 November 2009 в 00:01
поделиться

3 ответа

Если вы не пытаетесь упаковать его в конкретный объект, просто используйте struct.pack для возврата строка.

В противном случае

6
ответ дан 4 December 2019 в 19:34
поделиться

As noted in another answer, struct_pack is probably all you need and should use. However, objects of type array support the buffer protocol and can be modified:

>>> import array, struct
>>> a = array.array('c', ' ' * 1000)
>>> c = 'a'; i = 1
>>> struct.pack_into('ci', a, -0, c, i)
>>> a
array('c', 'a\x00\x00\x00\x01\x00\x00\x00  ...

The original buffer protocol was a bit of a hack primarily for C extensions. It has been deprecated and replaced by a new C-level buffer API and memoryview objects in Python 3 (and in the upcoming 2.7).

7
ответ дан 4 December 2019 в 19:34
поделиться

Two possibilities leap immediately to mind:

  • You can use the Python stringio module to make a read/write buffer with file semantics.

  • You can use the Python array module to get a buffer you can treat like a list, but which will contain just binary bytes.

-1
ответ дан 4 December 2019 в 19:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: