gpt4 book ai didi

python - 我怎样才能避免生成一张电子名片而不是给定的电子名片?

转载 作者:太空宇宙 更新时间:2023-11-03 19:55:06 25 4
gpt4 key购买 nike

我正在尝试从给定模板创建电子名片,但它只生成最后一个。但是,我想每次添加一个基于新模板的数据库电话,但我不确定为什么我只得到一个 id 和最后一部电话。它应该获得 91 个联系人及其 ID

def generate():
import os
_id = 0
while _id < 91:
phone = open('C:\\Users\\xxxxxx\\Desktop\\phone', 'r').read().splitlines()
for idx in phone:
template = open('C:\\Users\\xxxxxx\\Desktop\\client.vcf','r')
final = open('C:\\Users\\xxxxxx\\Desktop\\final.vcf','w')
template = template.read()
template = template.replace("CLIENT","CLIENT {}".format(_id))
template = template.replace("PHONE", idx)
final.write(template)
_id += 1

我正在获取此模板的输出

BEGIN:VCARD
VERSION:3.0
N:;CLIENT 90;;;
FN:CLIENT 90
TEL;TYPE=CELL;TYPE=pref;TYPE=VOICE:1111111111
PRODID:-//Apple Inc.//iCloud Web Address Book 1923B15//EN
REV:2020-01-03T19:21:22Z
END:VCARD

我想要这个输出

BEGIN:VCARD
VERSION:3.0
N:;CLIENT 1;;;
FN:CLIENT 1
TEL;TYPE=CELL;TYPE=pref;TYPE=VOICE:111111111
PRODID:-//Apple Inc.//iCloud Web Address Book 1923B15//EN
REV:2020-01-03T19:21:22Z
END:VCARD
BEGIN:VCARD
VERSION:3.0
N:;CLIENT 2;;;
FN:CLIENT 2
TEL;TYPE=CELL;TYPE=pref;TYPE=VOICE:222222222222
PRODID:-//Apple Inc.//iCloud Web Address Book 1923B15//EN
REV:2020-01-03T19:21:22Z
END:VCARD

最佳答案

您描述的问题是因为您不断使用“w”打开输出文件,这将覆盖该文件(如果存在) - 看看 Python - Files I/O .

使用“a”打开文件,或者只打开一次并在整个循环中使用它。

试试这个(仍然是糟糕的代码,但减少了不必要的打开):

import os
def generate():
phone = open('C:\\Users\\xxxxxx\\Desktop\\phone', 'r').read().splitlines()
template = open('C:\\Users\\xxxxxx\\Desktop\\client.vcf','r').read()
final = open('C:\\Users\\xxxxxx\\Desktop\\final.vcf','w')

for _id in range(91):
for idx in phone:
final.write(template.replace("CLIENT","CLIENT {}".format(_id)).replace("PHONE", idx))

关于python - 我怎样才能避免生成一张电子名片而不是给定的电子名片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59588686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com