Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
linux命令行程序可以看到python临时文件吗?_Python_Linux_Temporary Files - Fatal编程技术网

linux命令行程序可以看到python临时文件吗?

linux命令行程序可以看到python临时文件吗?,python,linux,temporary-files,Python,Linux,Temporary Files,我有一个使用PythonTwisted编写的简单web服务器。用户可以登录并使用它生成特定于该用户的特定报告(pdf格式)。该报告是由一个.tex模板文件生成的,我在其中根据用户替换某些内容,包括嵌入用户特定的图形(.png或类似图形),然后使用命令行程序pdflatex生成pdf 当前,图形保存在tmp文件夹中,然后在调用pdflatex之前将该路径放入.tex模板中。但是,当用户数量增加时,这可能会带来一大堆问题,因此我想使用临时文件(tempfile模块),而不是真正的tmp文件夹。有没有

我有一个使用PythonTwisted编写的简单web服务器。用户可以登录并使用它生成特定于该用户的特定报告(pdf格式)。该报告是由一个.tex模板文件生成的,我在其中根据用户替换某些内容,包括嵌入用户特定的图形(.png或类似图形),然后使用命令行程序pdflatex生成pdf


当前,图形保存在tmp文件夹中,然后在调用pdflatex之前将该路径放入.tex模板中。但是,当用户数量增加时,这可能会带来一大堆问题,因此我想使用临时文件(tempfile模块),而不是真正的tmp文件夹。有没有办法让pdflatex看到这些临时文件?还是我做得不对?

没有任何代码,很难告诉您如何做,但是

有没有办法让pdflatex看到这些临时文件

是,您可以使用以下命令打印临时文件的路径:


如前所述,您可以使用
tempfile.NamedTemporaryFile
。问题是,一旦关闭,它将被删除。这意味着您必须在python中仍然引用该文件的情况下运行pdflatex。 作为一种替代方法,您可以使用随机生成的名称保存图片。
tempfile
旨在允许您以一致的方式在各种平台上创建临时文件。这不是您需要的,因为我想您总是在同一个Web服务器上运行脚本

您可以使用
uuid
模块生成随机文件名:

import uuid
for i in xrange(3):
    print(str(uuid.uuid4()))
您可以使用随机名称明确地保存图片,并将其插入到tex文件中。
运行pdflatex后,您必须明确删除该文件,这是该方法的缺点。

请参阅。如果您的意思是这样的,您可以使用
tempfile.NamedTemporaryFile
。只需确保pdflatex已完成,然后再允许文件删除自身。
import uuid
for i in xrange(3):
    print(str(uuid.uuid4()))