从python生成的文件中删除逗号

时间:2017-12-09 21:54:27

标签: python python-3.x

我必须写一个每行一个名字的文件。我使用了以下列表:

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'

有一种简单的方法吗?

3 个答案:

答案 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))