gpt4 book ai didi

python - 如何使用cherrypy提供文件并从服务器删除文件?

转载 作者:行者123 更新时间:2023-11-30 23:49:57 24 4
gpt4 key购买 nike

我需要在服务器上创建一个文件,将其提供给客户端,然后我希望从服务器中删除该文件。

这是我目前正在尝试的:

def myaction():
fs = facts.generatefacts(int(low),int(high),int(amount),op)
filename = 'test.txt'
FILE = open(filename,'w')
FILE.writelines('my\nstuff\nhere')
FILE.close()
RETURN_FILE = open(filename,'r')
return serve_fileobj(RETURN_FILE,disposition='attachment',
content_type='.txt',name=filename)

myaction.exposed = True

有几件事我不喜欢。例如,我不认为我必须打开该文件两次。我希望有一种方法可以将内容直接写入响应对象,而无需创建文件对象,但这不是我今天的问题。

上面的代码完成了我想要的,但留下了一个文件。如果我在返回响应之前删除该文件,那么(当然)找不到该文件。

有没有办法在该文件提供后立即将其删除?

我来自 Java 世界,所以我有点迷失方向,并且感谢任何其他改进上述内容的建议。

最佳答案

1) 您可以将文件移动到临时文件夹并删除 0.5 小时之前的所有文件

2)你可以尝试

result = serve_fileobj(RETURN_FILE,disposition='attachment',
content_type='.txt',name=filename)
os.unlink(filename)
return result

3)尝试使用StringIO文件对象,它可以将字符串包装得像一个文件。

关于python - 如何使用cherrypy提供文件并从服务器删除文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7414477/

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