首页 > 解决方案 > CSV NamedTemporaryFile 未正确保存

问题描述

我正在尝试使用 Python 的 csv 和 tempfile 工具制作一个 csv 文件。我一直在声明如下:

csvattachment = tempfile.NamedTemporaryFile(suffix='.csv', prefix=('student_' + studentID), delete=False)
with open(csvattachment.name, 'w+') as csvfile:
    filewriter = csv.writer(csvfile, delimiter=',')
    filewriter.writerow([ #WRITE CONTENT HERE])

然后我要做的是附加此文件并将其发送出去。问题在于,附件名称不是被称为“student_1736823.csv”,而是更难看的东西<tempfile._TemporaryFileWrapper object at 0x10cbf5e48>

标签: pythoncsvtemporary-files

解决方案


该类NamedTemporaryFile()已经返回一个打开的文件,您不必重新打开它

with tempfile.NamedTemporaryFile(suffix='.csv', prefix=('student_' + studentID),
        delete=False, mode='w+') as csvfile:
    filewriter = csv.writer(csvfile, delimiter=',')
    filewriter.writerow([ #WRITE CONTENT HERE])

推荐阅读