0

Cで書かれたheadファイルをpythonのクラスに変換したい

基本的には、C の head ファイルの形式 (と呼ばれるファイルheader.cは次のようなものです。

#define ATTR_A          (HELLO +1L)     /*FSDSDF*/
#define ATTR_B          (HELLO +2L)     /*FSFSSF*/

私がやりたいことは、テキストを読み取り、header.cその形式を python calss に変換し、結果を というファイルに保存できる簡単なスクリプトを作成することですheader.py。変換後は次のようになります。

ATTR_A        = (HELLO +1L)
ATTR_B        = (HELLO +2L)

ファイルの読み取り方法と変換結果を に保存する方法header.pyは知っていますが、変換の方法は知っています。誰か助けてくれませんか?ありがとう!

4

2 に答える 2

-1

これを行う最良の方法は、ここを使用することだと思いreます。

>>> import re
>>> testinput = '#define ATTR_A          (HELLO +1L)     /*FSDSDF*/'
>>> r = re.split(r'#define (\w*)(\s*)(\(.*\))', testinput)
>>> print '%s = %s' %(r[1], r[3])
ATTR_A = (HELLO +1L)

(\w*)'ATTR_A'を抽出するために使用されます

(\s*)空白を抽出するために使用されます

内部(\(.*\))では、\(実際に一致(し、\)マタッシュし)ます。.*改行以外のすべての文字に一致します。

だから、、、の後にsplitr= ['', 'ATTR_A', ' ', '(HELLO +1L)', ' /*FSDSDF*/']リスト。

于 2012-07-10T05:05:14.300 に答える