写入设置为文件和格式

2024-06-17 19:30:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一套像这样的:

names = {('nevio', 'chetan'),
 ('oishee', 'tafel'),
 ('utas', 'brea'),
 ('zoiie', 'fennell'),
 ('mervi', 'ensing')}

我想将此文件写入为:

'nevio', 'chetan',
'oishee', 'tafel',
'utas', 'brea',
'zoiie', 'fennell',
'mervi', 'ensing'

最好的方法是什么

我试过这个:

with open('test.txt','w') as f:
    for row in names_list:
        row = str(row)[1:-1] 
        f.write(row)

Tags: 文件方法nameswithrowchetanutasbrea
2条回答

请使用此代码段您必须访问元组中值的索引,下面给出的代码段将生成所需的输出

names = {('nevio', 'chetan'),
 ('oishee', 'tafel'),
 ('utas', 'brea'),
 ('zoiie', 'fennell'),
 ('mervi', 'ensing')}

with open('test.txt', 'w') as file:
    for name in names:
        file.write(f'{name[0]}, {name[-1]}\n')

f“”字符串适用于最新版本的Python,因此如果您使用的是较旧版本,请升级

快乐编码:)

输入:

names = {
    ('nevio', 'chetan'),
    ('oishee', 'tafel'),
    ('utas', 'brea'),
    ('zoiie', 'fennell'),
    ('mervi', 'ensing')
}

将集合转换为列表

names_list = list(names)

然后使用此示例。

with open('test.txt','w') as f:
    for i, name in enumerate(names_list):
        f.write(f"'{name[0]}', '{name[1]}'{',' if i+1 < len(names_list) else ''}\n")        

输出:

'nevio', 'chetan',
'utas', 'brea',
'mervi', 'ensing',
'zoiie', 'fennell',
'oishee', 'tafel'

这里发生了什么{',' if i+1 < len(names_list) else ''}
如果操作元素+1的索引小于名称列表的长度,则粘贴字符',',否则粘贴空字符串''

相关问题 更多 >