gpt4 book ai didi

Python - 从临时文件中写入和读取

转载 作者:IT老高 更新时间:2023-10-28 21:08:05 26 4
gpt4 key购买 nike

我正在尝试创建一个临时文件,我在另一个文件的某些行中写入该文件,然后从数据中创建一些对象。我不知道如何找到并打开临时文件以便阅读。我的代码:

with tempfile.TemporaryFile() as tmp:
lines = open(file1).readlines()
tmp.writelines(lines[2:-1])

dependencyList = []

for line in tmp:
groupId = textwrap.dedent(line.split(':')[0])
artifactId = line.split(':')[1]
version = line.split(':')[3]
scope = str.strip(line.split(':')[4])
dependencyObject = depenObj(groupId, artifactId, version, scope)
dependencyList.append(dependencyObject)
tmp.close()

基本上我只是想制作一个中间人临时文档,以防止意外覆盖文件。

最佳答案

您遇到了范围问题;文件 tmp 仅存在于创建它的 with 语句的范围内。此外,如果您想稍后在初始 with 之外访问文件,则需要使用 NamedTemporaryFile(这使操作系统能够访问该文件)。另外,我不确定您为什么要尝试附加到临时文件...因为在您实例化它之前它并不存在。

试试这个:

import tempfile

tmp = tempfile.NamedTemporaryFile()

# Open the file for writing.
with open(tmp.name, 'w') as f:
f.write(stuff) # where `stuff` is, y'know... stuff to write (a string)

...

# Open the file for reading.
with open(tmp.name) as f:
for line in f:
... # more things here

关于Python - 从临时文件中写入和读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39983886/

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