Я пишу код Python для создания веб-службы для пингования IP-адресов и отображения результатов на веб-странице.
Я пишу код фляги для проверки IP-адресов и отображать их на той же странице.Но мой код может только читать первую строку, выполнять работу ping и отображать результат во втором текстовом поле.
Можете ли вы сказать, что пропущено при чтении построчно из текстового файла, и выполнить задание.
from flask import Flask, jsonify, render_template, request
import re, os
app = Flask(__name__)
@app.route('/_add_numbers')
def add_numbers():
a = request.args.get('a', 0, type=str)
def buffer_data():
store_data = []
var1 = str(a)
with open("Bufferfile.txt", 'w', encoding='utf-8') as infile:
for line in a:
textdata1 = infile.write(line.strip(''))
print("Done")
with open("Bufferfile.txt", 'r', encoding='utf-8') as infile1:
for row in infile1.read().rsplit():
#print(row)
# return(row)
match1 = re.search("\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?:/\d{1,2}|)", row, re.MULTILINE)
if match1:
ip = match1.group(0)
x = os.system("ping -n 1 " + ip)
if x == 0:
store_data.append(row + "--Active" + "\n")
#return (row + "--Active" + "\n")
print(row, "--Active" + "\n")
else:
store_data.append(row + "--Active" + "\n")
#return (row +"--Inactive" + "\n")
print(row, "Inactive" + "\n")
#data2 = infile1.read()
return (store_data)
print("complete")
return jsonify(result=buffer_data())
@app.route('/')
def index():
return render_template('test3.html')
if __name__ == '__main__':
app.run(debug=True)
<!DOCTYPE html>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="{{
url_for('static', filename='jquery.js') }}">\x3C/script>')
</script>
<script type=text/javascript>
$SCRIPT_ROOT = {{ request.script_root|tojson|safe }};
</script>
<script type=text/javascript>
$(function() {
$('a#calculate').bind('click', function() {
$.getJSON($SCRIPT_ROOT + '/_add_numbers', {
a: $('textarea[name="a"]').val()
}, function(data) {
$("#result").text(data.result);
});
return false;
});
});
</script>
<h1>jQuery Example</h1>
<p><textarea type=text size=5 name=a> </textarea> =
<textarea type=text id=result>Get the result here!..</textarea>
<p><a href=# type=submit id=calculate>Get Result!</a>