Python - 删除网表文件中的最后一个字符
Python - Remove the last character in a netlist file
我正在从 csv 文件生成网表文件,如下所示,我试图在生成文件文本后隐藏最后一个字符“,”,但我不能
module Filtre(E[0],E[1],E[2],E[3],S[0],S[1],S[2],S[3],);
预期结果:
module Filtre(E[0],E[1],E[2],E[3],S[0],S[1],S[2],S[3]);
我生成网表文件的功能:
fichNet = open('Netlist.v', 'r+')
def readColCSV(fichier):
with open(fichier, 'r') as read_obj:
csv_dict_reader = DictReader(read_obj)
entete = csv_dict_reader.fieldnames[0]
fichNet.writelines('\nmodule {}('.format(entete))
for row in csv_dict_reader:
if 'E' in row['pin name'] or 'S' in row['pin name']:
fichNet.writelines('{},'.format(row['pin name']))
fichNet.writelines(');\n\n')
将您的函数更改为:
fichNet = open('Netlist.v', 'r+')
def readColCSV(fichier):
with open(fichier, 'r') as read_obj:
csv_dict_reader = DictReader(read_obj)
entete = csv_dict_reader.fieldnames[0]
fichNet.writelines('\nmodule {}('.format(entete))
for row in csv_dict_reader:
if 'E' in row['pin name'] or 'S' in row['pin name']:
if csv_dict_reader.index(row) != csv_dict_reader[-1]:
fichNet.writelines('{},'.format(row['pin name']))
else:
fichNet.writelines('{}'.format(row['pin name']))
fichNet.writelines(');\n\n')
它会工作,创建一个空列表,将您的字符串添加到列表中并用“,”连接,这样它就不会在您的字符串末尾写“,”。
fichNet = open('Netlist.v', 'r+')
def readColCSV(fichier):
with open(fichier, 'r') as read_obj:
csv_dict_reader = DictReader(read_obj)
entete = csv_dict_reader.fieldnames[0]
fichNet.writelines('\nmodule {}('.format(entete))
#Add here
l=[]
for row in csv_dict_reader:
if 'E' in row['pin name'] or 'S' in row['pin name']:
#Change here
l+=[row['pin name']]
#Change here
fichNet.writelines(','.join(l)+');\n\n')
我正在从 csv 文件生成网表文件,如下所示,我试图在生成文件文本后隐藏最后一个字符“,”,但我不能
module Filtre(E[0],E[1],E[2],E[3],S[0],S[1],S[2],S[3],);
预期结果:
module Filtre(E[0],E[1],E[2],E[3],S[0],S[1],S[2],S[3]);
我生成网表文件的功能:
fichNet = open('Netlist.v', 'r+')
def readColCSV(fichier):
with open(fichier, 'r') as read_obj:
csv_dict_reader = DictReader(read_obj)
entete = csv_dict_reader.fieldnames[0]
fichNet.writelines('\nmodule {}('.format(entete))
for row in csv_dict_reader:
if 'E' in row['pin name'] or 'S' in row['pin name']:
fichNet.writelines('{},'.format(row['pin name']))
fichNet.writelines(');\n\n')
将您的函数更改为:
fichNet = open('Netlist.v', 'r+')
def readColCSV(fichier):
with open(fichier, 'r') as read_obj:
csv_dict_reader = DictReader(read_obj)
entete = csv_dict_reader.fieldnames[0]
fichNet.writelines('\nmodule {}('.format(entete))
for row in csv_dict_reader:
if 'E' in row['pin name'] or 'S' in row['pin name']:
if csv_dict_reader.index(row) != csv_dict_reader[-1]:
fichNet.writelines('{},'.format(row['pin name']))
else:
fichNet.writelines('{}'.format(row['pin name']))
fichNet.writelines(');\n\n')
它会工作,创建一个空列表,将您的字符串添加到列表中并用“,”连接,这样它就不会在您的字符串末尾写“,”。
fichNet = open('Netlist.v', 'r+')
def readColCSV(fichier):
with open(fichier, 'r') as read_obj:
csv_dict_reader = DictReader(read_obj)
entete = csv_dict_reader.fieldnames[0]
fichNet.writelines('\nmodule {}('.format(entete))
#Add here
l=[]
for row in csv_dict_reader:
if 'E' in row['pin name'] or 'S' in row['pin name']:
#Change here
l+=[row['pin name']]
#Change here
fichNet.writelines(','.join(l)+');\n\n')