真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

包含python函數(shù)是結(jié)構(gòu)體的詞條

Python中如何使用C的結(jié)構(gòu)體struct求解

閟truct就可以使用結(jié)構(gòu)體了:

成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供觀山湖網(wǎng)站建設(shè)、觀山湖做網(wǎng)站、觀山湖網(wǎng)站設(shè)計(jì)、觀山湖網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、觀山湖企業(yè)網(wǎng)站模板建站服務(wù),10余年觀山湖做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

import struct

生成一個(gè)結(jié)構(gòu)體實(shí)例:

data = struct.pack( 'format_string', struct_menber_1, struct_menber_2, ... )

其中的format_string用來指定結(jié)構(gòu)體的格式(指明該結(jié)構(gòu)體在C中的定義),由兩部分組成:

首先是一個(gè)可選的特殊字符,用來指明字節(jié)序、數(shù)據(jù)類型大小和對(duì)齊方式:

@: native order, size alignment (default)

=: native order, std. size alignment

: little-endian, std. size alignment

: big-endian, std. size alignment

!: same as

然后是指明結(jié)構(gòu)體定義的部分:

The remaining chars indicate types of args and must match exactly;

these can be preceded by a decimal repeat count:

x: pad byte (no data); c:char; b:signed byte; B:unsigned byte;

h:short; H:unsigned short; i:int; I:unsigned int;

l:long; L:unsigned long; f:float; d:double.

Special cases (preceding decimal count indicates length):

s:string (array of char); p: pascal string (with count byte).

Special case (only available in native format):

P:an integer type that is wide enough to hold a pointer.

Special case (not in native mode unless 'long long' in platform C):

q:long long; Q:unsigned long long

Whitespace between formats is ignored.

如果struct模塊的函數(shù)出錯(cuò),將產(chǎn)生struct.error異常。

python里面可以定義結(jié)構(gòu)體嗎

Python中沒有專門定義結(jié)構(gòu)體的方法,但可以使用class標(biāo)記定義類來代替結(jié)構(gòu)體,

其成員可以在構(gòu)造函數(shù)__init__中定義,具體方法如下。

復(fù)制代碼代碼如下:

class item:

def __init__(self):

self.name = '' # 名稱

self.size = 10 # 尺寸

self.list = [] # 列表

a = item() # 定義結(jié)構(gòu)對(duì)象

a.name = 'cup'

a.size = 8

a.list.append('water')

求,Python的C擴(kuò)展程序中傳遞參數(shù)為結(jié)構(gòu)體,怎么傳遞

況如下:

打算從python發(fā)一個(gè)tcp數(shù)據(jù)包給遠(yuǎn)程服務(wù)器,數(shù)據(jù)的主體是一個(gè)c語言的

struct

(較大,size

為1402)。由于這個(gè)struct太復(fù)雜,故不打算在python

處對(duì)其重新定義,目前的想法是用python調(diào)用一個(gè)c語言的模塊,在這個(gè)模塊中定義這個(gè)struct,并設(shè)置好數(shù)據(jù)后,將其struct傳回python中,再打包傳送服務(wù)器。

但是不知道如何將這個(gè)struct

變量從c語言

傳入python中。嘗試用py_buildvalue函數(shù),以py_buildvalue("p",interface_setup)

//interface_setup為結(jié)構(gòu)體變量

傳遞,

但是幾次都得到運(yùn)行時(shí)錯(cuò)誤:

systemerror:

bad

format

char

passed

to

pybuildvaule。


網(wǎng)站題目:包含python函數(shù)是結(jié)構(gòu)體的詞條
文章起源:http://weahome.cn/article/hjpgis.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部