Python,Web应用程序不会保存到文件.服务器端

本文关键字:存到文件 服务器端 Web 应用程序 Python | 更新日期: 2023-09-27 18:37:02

如果你想要一个快速版本,向下滚动到"Edit|1|"部分。

我已经对此进行了一些搜索,但似乎无法弄清楚。我在同一台机器上有一个 Web 服务器和一个 Minecraft 服务器(它永远不会占用大量负载,所以没关系),我需要用户能够输入一些输入(以 html 形式),将该输入保存在服务器上的文件中,由中间人应用程序处理(我已经完成了并且是 c#),中间人应用程序与 minecraft 服务器交互。

现在我要么以前做过,要么知道该怎么做。唯一的问题是将表单的内容保存到临时文本文件中,以便中间人应用程序可以发挥其魔力。我想过使用 SQL(因为它在服务器上,因为 minecraft 使用它进行统计),但在我看来,对于只会存在几秒钟的东西来说,这有点矫枉过正。(更不用说我必须将SQL添加到中间人应用程序中)。

我真的不在乎文件最终在服务器上的哪个位置,因为我可能会将位置硬编码到中间人应用程序中,并且在中间人应用程序读取它后它将被删除。我可以保存以在 IDLE 中工作,但不能在服务器上的此应用程序中工作。

(我知道这段代码不会从表单中获取任何东西,这只是作为保存文件的测试而编写的)

import os
name = "none";
def editFile():
    workfile = open("edit.x",'w')
    workfile.write(name)
    workfile.close()

def application(environ, start_response):
    status = "200 OK"
    output = "Testificate (Feature will be up shortly)"
    response_headers = [('Content-type', 'text/plain'),('Content-Length',str(len(output)))]

    start_response(status, response_headers)
    return [output]

额外的服务器信息...

硬件:足够强大

WebServer:Wamp w/Python 模块安装在 Apache 上

另外,这里是使用该代码运行的内容的链接 点击这里.

编辑|1|:我想我没有太多了解这个问题(我写这篇文章的时候是昨晚很晚)。基本上任何类型的文件都可以。我想要理想情况下最简单的实现。上面的代码在服务器上没有结果。它永远不会创建文件,也无法从文件中读取(如果我手动创建它)。我已经为此工作了大约一天半了。我真的只是希望这是我的一个错误。wamp 中的服务器配置是否不允许通过 Python 创建文件?

Python,Web应用程序不会保存到文件.服务器端

例如,使用已知目录tempfile.mkstemp()查看tempfile模块。让您的"中间人应用程序"轮询(或者可能使用 inotify)新文件的目录,处理文件,然后在完成后将其删除。

所以我意识到我今天午餐时做了什么。(在这个过程中给自己打脸)。它不起作用的原因是我使用了反斜杠,而不是正斜杠。所以这是上面的工作版本(我使用三引号只是为了确定)。我也把它改成了绝对路径。

def editFile():
    workfile = open("""C:/wamp/www/test/edit.txt""",'w')
    workfile.write(name)
    workfile.close()

在那之后,它完美地工作了。因此,如果其他人犯了这个小错误,这是一个提醒。大声笑 感谢"mhawke"对临时文件的回复 无论哪种情况,它都有很好的信息。