Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从python生成的文件中删除逗号_Python_Python 3.x - Fatal编程技术网

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

从python生成的文件中删除逗号,python,python-3.x,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) 要从列表中删除字符串,结果

我必须写一个文件,每行一个名字。我用以下方法列出了一份清单:

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'
有没有简单的方法可以做到这一点?

试试:

>>> 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
另一方面,如果您确实希望单引号出现在输出中:

>>> print('\n'.join("'%s', '%s'" % (a, b.strip()) for a, b in names))
'a', '1'
'b', '2'
'c', '3'
'd', '4'

您的数据结构是一个事物和另一个事物之间的映射,因此您应该使用字典:

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))
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()