我必须写一个每行一个名字的文件。我使用了以下列表:
names = [('a', '1\n'), ('b', '2\n'), ('c', '3\n'), ('d', '4\n')]
names = list(itertools.chain(*names))
这是结果:
['a', '1\n', 'b', '2\n', 'c', '3\n', 'd', '4\n']
在此之后我完成了:
separated_names = ', '.join(names)
从列表中删除字符串,结果为:
'a', '1'
, 'b', '2'
, 'c', '3'
, 'd', '4'
问题是开始每一行的逗号。我需要的输出格式为:
'a', '1'
'b', '2'
'c', '3'
'd', '4'
有一种简单的方法吗?
答案 0 :(得分:1)
names = [('a', '1\n'), ('b', '2\n'), ('c', '3\n'), ('d', '4\n')]
archive_out = open("output.txt", 'w')
for line in names:
archive_out.write(str(", ".join(line)))
archive_out.close()
答案 1 :(得分:0)
尝试:
composer development-enable
[Symfony\Component\Console\Exception\CommandNotFoundException]
Command "development-enable" is not defined.
另一方面,如果您真的希望单引号出现在输出中:
>>> names = [('a', '1\n'), ('b', '2\n'), ('c', '3\n'), ('d', '4\n')]
>>> print(''.join('%s, %s' % line for line in names))
a, 1
b, 2
c, 3
d, 4
答案 2 :(得分:0)
您的数据结构是一件事与另一件事之间的映射,因此您应该使用字典:
names = {'a': '1', 'b': '2', 'c': '3', 'd': '4'}
然后你可以迭代字典的项目来写入文件:
with open('my_file.txt', 'w') as f:
for key, value in names.items():
f.write('{}, {}'.format(key, value))