0

如果您想要快速版本,请向下滚动到“编辑|1|” 部分。

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

现在我要么以前做过,要么知道该怎么做。唯一的问题是将表单的内容保存到一个临时文本文件中,以便中间人应用程序可以发挥它的魔力。我考虑过使用 SQL(因为它在服务器上导致我的世界将它用于统计数据),但在我看来,对于只会存在几秒钟的东西来说,它有点矫枉过正。(更不用说必须将 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:安装在 Apache 上的带有 Python 模块的 Wamp

此外,这里是使用该代码运行的链接单击此处。

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

4

2 回答 2

0

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

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

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

于 2012-06-13T23:21:13.753 回答
0

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

于 2012-06-13T04:13:48.410 回答