2017-03-13 3 views
1

ich Python bin neu und kann nicht scheinen, um es herauszufinden ..Python Flask Importliste

Ich habe folgenden Code als content.py gespeichert

import fnmatch 
import os 
matches = [] 
for root, dirnames, filenames in os.walk("Z:\\"): 
    for filename in fnmatch.filter(filenames, '*.iso'): 
     matches.append(os.path.join(root, filename)) 

for item in matches: 
    print(item) 

Ich habe für die Website folgenden Code in website.py:

from flask import Flask 
app = Flask(__name__) 

@app.route('/') 
def hello_world(): 
    return 'Hello World!' 

if __name__ == '__main__': 
    app.run('192.168.1.8', 8080) 

habe ich versucht, viele Kombinationen es meine Streichhölzer an die Arbeit so wird irgendwie in die website.py hinzugefügt. Kann ich eine Liste direkt in website.py hinzufügen? Die Liste enthält Zeilen mit Betriebssystem-ISO-Kopien.

Ich möchte website.py jede Stunde als Cron-Job ausführen.

Muss ich die Website in website.py stoppen müssen sie Inhalte in den Cron-Job zu aktualisieren ?:

@app.route('/shutdown', methods=['POST']) 
def shutdown(): 
    shutdown_server() 
    return 'Server shutting down...' 

Sorry für diese Fragen, aber ich bin mehr ein scripter .. so Sachen mit i wissen, aber mit Programmiersprachen ist sehr unterschiedlich.

Danke, Ward

+1

Da Sie einige Daten bestehen bleiben müssen, Sie können entweder eine Datenbank wie Sqlite3, oder lassen Sie einfach Ihre Cron die Ergebnisse in eine JSON-Datei und lesen Sie das f ile auf Anfrage. Wenn Sie irgendeine Art von Datenverkehr erhalten möchten, sollten Sie dennoch eine Datenbank erstellen, da Sie jedes Mal, wenn Sie die Datei zum Lesen öffnen, alle anderen Anforderungen blockieren, die beim Öffnen der Datei auftreten. – user2896976

+0

ist nur für den persönlichen Gebrauch. Also würde JSON-Datei funktionieren. –

Antwort

0

Die Lösung:

content.py

import fnmatch 
import os 
matches = [] 
for root, dirnames, filenames in os.walk("Z:\\"): 
    for filename in fnmatch.filter(filenames, '*.iso'): 
     matches.append(os.path.join(filename)) 

new_list = matches 

result_string = """<HTML> 
<body> 
    <h1>Attendance list</h1> 
    <table>\n""" 
for i in new_list: 
    result_string += "  <tr>\n   " 
    for j in i: 
     result_string += "<td>%s</td>" %j 
    result_string += "\n  </tr>\n" 
result_string += """ </table> 
</body> 
</HTML>""" 
display = open("table.html", 'w') 
display.write(result_string) 
display.close() 

##for item in matches: 
    ##print(item) 

website.py

import flask 

app = flask.Flask('flasksubs') 
webcode = open('table.html').read() 

@app.route('/') 
def webprint(): 
    return webcode 

if __name__ == '__main__': 
    app.run(host = '10.1.16.14', port = 82)