2009-07-03 8 views
0

Ich habe versucht, eine Datei in einer Ansicht wie folgt zu lesen:Wie öffne ich eine Datei im App Engine Patch?

def foo(request): 
    f = open('foo.txt', 'r') 
    data = f.read() 
    return HttpResponse(data) 

ich die foo.txt in fast jeden Ordner in dem Projekt zu setzen versucht, aber es gibt immer noch

[Errno 2] keine solche Datei oder das Verzeichnis: 'foo.txt'

so hat jemand weiß, wie man eine Datei in App Engine-Patch zu öffnen? Wo sollte ich die Dateien platzieren, die ich öffnen möchte? Danke vielmals. Ich benutze app-engine-patch 1.1beta1

Antwort

2

In App Engine, Patch oder anders, sollten Sie in der Lage sein, jede Datei zu öffnen, die mit den Quellen Ihrer App hochgeladen wird. Ist 'foo.txt' im selben Verzeichnis wie die py-Datei? Wird es hochgeladen (was sagt deine app.yaml?)?

+0

Ich habe versucht, den TXT in das gleiche Verzeichnis wie die Py-Datei, aber es hat nicht funktioniert. Ich denke, es ist der App-Engine-Patch, der etwas beim Öffnen der Datei gemacht hat, weil er eine Menge App-Engine-Sachen im Trackback hat. – jagttt

+0

Dies bedeutet nicht, dass app-engine-patch irgendetwas gemeinsam hat - das ist der gesamte Call-Stack, der zu diesem Fehler führt. Fügen Sie Ihr Tracebask irgendwo ein, wir werden versuchen zu helfen (zB unter http://paste.pocoo.org/). – zgoda

+0

Einfügen der Spur in der Frage wäre besser. –

0

Sie sollten versuchen, f = open ('./ foo.txt', 'r')

1

Put './' vor dem Dateipfad:

f = open('./foo.txt') 

Wenn Sie don‘ t, funktioniert es immer noch in App Engine Launcher 1.3.4, was verwirrend sein könnte, aber sobald du es hochgeladen hast, wirst du einen Fehler bekommen.

Es scheint auch, dass Sie die Datei (oder ihr Verzeichnis), auf die Sie in app.yaml zugreifen möchten, nicht erwähnen sollten. Ich verwende CSS, JS und HTML in meiner App auf diese Weise.

Verwandte Themen