直截了当的方式:
def ll_to_string(ll):
s = ''
for li, l in enumerate(ll):
s += f'[List{li + 1}]\n'
for i, n in enumerate(l):
s += f'Signal{i + 1} = {n}\n'
s += '\n'
return s
def write_all(all, file_name):
with open(file_name, "w", encoding='utf-8') as fw:
fw.write(all)
list_of_lists = [[1, 2, 3], [7, 4], [1]]
all = ll_to_string(list_of_lists)
# print(all)
write_all(all, 'out.txt')
如果你想使用configparser.py 模块:
def config_ll_to_ini(ll, file_name):
config = configparser.ConfigParser()
for li, l in enumerate(ll):
d = {}
for i, n in enumerate(l):
d[f'Signal{i + 1}'] = n
config[f'List{li + 1}'] = d
with open(file_name, 'w') as configfile:
config.write(configfile)
# usage
config_ll_to_ini(list_of_lists, 'cfg.ini')
在决定使用 INI 格式之前,请三思,现在大多数应用程序使用 json、xml、yaml等等,而 INI 似乎已经过时了。