parse a string (Cadence Allegro Netlist) to dictionary
Emile van Sebille
emile at fenx.com
Thu Nov 5 16:05:25 EST 2009
On 11/5/2009 12:02 PM Leland said...
> Hi,
>
> I always use readline(), strip(), split() and so on to parse a string.
> Is there some elegant way to parse the following string into a
> dictionary {'50MHZ_CLK_SRC' : 'U122.2, R1395.1'}?
>
> NET_NAME
> '50MHZ_CLK_SRC'
> '@TEST_LIB.TEST(SCH_1):50MHZ_CLK_SRC':
> C_SIGNAL='@test_lib.test(sch_1):\50mhz_clk_src\';
> NODE_NAME U122 2
> '@TEST_LIB.TEST(SCH_1):PAGE92_I223 at INF_LOGIC.CY2305(CHIPS)':
> 'CLK2': CDS_PINID='CLK2';
> NODE_NAME R1395 1
> '@TEST_LIB.TEST(SCH_1):PAGE92_I232 at INF_RESISTORS.RESISTOR(CHIPS)':
> 'A': CDS_PINID='A';
>
> Thanks,
> Leland
This does it, but not very elegantly...
mydict = dict( (kk[0].replace("'",""),",".join(kk[1:]))
for kk in [ [ [ jj for jj in ii.split("\n") if jj.strip() ][0]
for ii in txt.split("_NAME")[1:] ] ])
Emile
More information about the Python-list
mailing list