gpt4 book ai didi

python - 使用 CGI (Ubuntu) 保存临时文件

转载 作者:行者123 更新时间:2023-11-28 23:05:09 25 4
gpt4 key购买 nike

我是一名博士后,我刚刚用 Python 完成了一个很酷的小科学应用程序,想与全世界分享。这对遗传学家来说是一个非常有用的工具。

我真的很想让人们通过 CGI 表单界面来运行这个程序。因为我不再是学生了,所以我不再拥有带有完美连接的整洁小 cgi-bin 子目录的网络空间。

几年前我写了一个简单的 CGI Python 程序,并试图将其用作模板。

这是我的问题:我的程序需要创建临时文件(当从命令行运行时,它将图像保存到给定路径)。我已经阅读了一些关于 Apache 等的教程,并且运行了很多东西,但我不知道如何让我的程序写入临时文件(我也不知道这些文件会在哪里等) .每当我尝试在我的 Python 程序中写入文件(以任何方式)时,CGI“崩溃”并且似乎不正常。

我不是很担心安全问题,因为临时文件只是程序的输出(不是用户输入)。

虽然我在问(我假设你是 CGI 忍者,如果你已经走到这一步并且不觉得无聊),你知道我的 CGI 程序可以在不创建临时文件的情况下接受文件参数吗?

我以前的做法是简单地将文本列表作为参数:

try:
if item.file:
data = item.file.read()
if check:
Tools_file.main(["ExeName", "-d", "-w " + data])
else:
Tools_file.main(["ExeName", "-s", "-d", "-w " + data])
...

我想以正确的方式做这件事!提前干杯。

堆满你的,
奥利弗

最佳答案

嗯,“正确”的方法可能是使用现有的 Web 框架(如 Django)重新工作。在这种情况下,这可能有点矫枉过正。不要低估这里的安全方面。它们可能比您想象的更相关。

综上所述,您可能想使用标准库中的 Python 临时文件模块:

http://docs.python.org/library/tempfile.html

如果您使用的是 unix,它通常会将内容写入/tmp/whatever。如果您的程序仅在 apache 下运行时崩溃(但直接执行时运行良好),请检查您的权限。确保您的 apache 用户有权写入您决定存储临时文件的任何位置。确保使用适当的权限写入临时文件(不想写入以后无法读取的文件)。

关于python - 使用 CGI (Ubuntu) 保存临时文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6552777/

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