2
私は、私が読んでいくつかの行動をとるファイルを持っています。空白行がある行を削除するにはどうすればいいですか?
export_comp_f = open(env_path + '/girobo2/sim_export/modelsim/compile.do', 'r')
exp_cont = export_comp_f.readlines()
exp_cont = list(filter(lambda x: 'work/hdl' not in x, exp_cont))
exp_cont = list(map(lambda x: re.sub(r"^\".*?(\/2016\.2)", r'"$vivado_path/2016.2', x), exp_cont))
exp_cont = list(map(lambda x: re.sub(r"\+.*?(\/girobo2)", r'+incdir+$env_path/girobo2', x), exp_cont))
exp_cont = list(map(lambda x: re.sub(r"\"\w\:.*?(\/girobo2)", r'"$env_path/girobo2', x), exp_cont))
exp_cont = exp_cont[:-5]
exp_cont.append('vlog -work xil_defaultlib "glbl.v"\n')
export_comp_f.close()
「vcom」で始まり、直後に空白行がある行はすべて削除します。例えば
:
**vcom -work lib_pkg_v1_0_2 -64 -93 \** //should be deleted
vcom -work lib_fifo_v1_0_5 -64 -93 \
"$env_path/girobo2/syn/syn.ip_user_files/ipstatic/lib_fifo_v1_0/hdl/src/vhdl/async_fifo_fg.vhd" \
"$env_path/girobo2/syn/syn.ip_user_files/ipstatic/lib_fifo_v1_0/hdl/src/vhdl/sync_fifo_fg.vhd" \
別のリストを作成するのではなく、元のリストからvcomの行を削除することをお勧めします。 –
元の行を変更したい場合は、コードが短くなります。編集した回答を確認してください。 –
'line [i] = None'の代わりに' del line [i] 'を実行できます –