如何在django中找到tempfile的路径

时间:2012-12-05 06:07:48

标签: python django

我正在使用像这样的pdftk

pdftk template.pdf fill_form /temp/input.fdf output /temp/output.pdf

现在这很好用

但是现在我用这个

生成了临时文件而不是/temp/input.fdf
myfile = tempfile.NamedTemporaryFile()
myfile.write(fdf)
myfile.seek(0)
myfile.close()

现在我不知道如何将myfile作为输入传递给pdftk

2 个答案:

答案 0 :(得分:10)

myfile.name将为您提供文件路径。

请注意tempfileclose()不存在。来自文档:

 tempfile.TemporaryFile([mode='w+b'[, bufsize=-1[, suffix=''[, 
    prefix='tmp'[, dir=None]]]]])
  

返回可用作临时存储的类文件对象   区域。该文件是使用mkstemp()创建的。它会被摧毁   它关闭后立即关闭(包括对象时的隐式关闭)   垃圾收集)。在Unix下,该文件的目录条目是   创建文件后立即删除。其他平台则没有   支持这个;您的代码不应该依赖于创建的临时文件   使用此函数在文件中具有或不具有可见名称   系统

来源:http://docs.python.org/2/library/tempfile.html

答案 1 :(得分:8)

你不能使用

获得名字
myfile = tempfile.NamedTemporaryFile()
myfile.write(fdf)
myfile.seek(0)
myfile.close()
print(myfile.name)