gpt4 book ai didi

python - TemporaryFileWrapper 实例没有 __call__ 方法

转载 作者:行者123 更新时间:2023-11-30 21:50:07 25 4
gpt4 key购买 nike

我正在生成以下 NamedTemporaryFile -

## CONFIGURE DEPLOY.XPR
template = open(xprpath + xprtemplatefile, 'r')
joblist = open(joblistfilepath + joblistfilename, 'r')
temp = NamedTemporaryFile(delete=False)
data = template.read()
listjobs = joblist.read()
template.close()
joblist.close()

def replace_all(text, dic):
for i, j in dic.iteritems():
text = text.replace(i, j)
return text
values = {'<srcalias>':srcalias, '<dstalias>':dstalias}
data = replace_all(data, values)
temp.write(data)
temp.write("\n")
temp.write(listjobs)
temp.seek(0)

然后我想在代码的另一部分中使用它 -

with temp() as f:
count = 1
for line in f:
equal = '='
if (str(count) + equal) in line:
....

如何重新使用我制作的临时文件?

最佳答案

您不必调用它:

with temp as f:
count = 1
for line in f:

或者简单地

with temp:
count = 1
for line in temp:

该对象已经是一个上下文管理器。您一定已经将其与 open() 混淆了,在 open() 中,调用该函数会生成一个新的文件对象,然后将其用作上下文管理器。

请考虑到,在 with 语句末尾,temp 文件对象将被关闭。

关于python - TemporaryFileWrapper 实例没有 __call__ 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25510507/

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