请使用编程语言帮我编写一个网页要求可以导入txt、ini、等格式的文本并支持将两个文本进行逐行对照支持程序内修改原文本并以原格式导出
以下是使用Python编写的一个简单的网页,可以导入txt、ini等格式的文本文件,并支持将两个文本进行逐行对照,同时支持在程序内修改原文本并以原格式导出。
from flask import Flask, render_template, request, redirect, url_for
import configparser
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def home():
if request.method == 'POST':
file1 = request.files['file1']
file2 = request.files['file2']
if file1 and file2:
content1 = file1.read().decode('utf-8')
content2 = file2.read().decode('utf-8')
lines1 = content1.split('\n')
lines2 = content2.split('\n')
return render_template('compare.html', lines1=lines1, lines2=lines2)
return render_template('index.html')
@app.route('/update', methods=['POST'])
def update():
content1 = request.form['content1']
content2 = request.form['content2']
lines1 = content1.split('\n')
lines2 = content2.split('\n')
return render_template('compare.html', lines1=lines1, lines2=lines2)
@app.route('/export', methods=['POST'])
def export():
content1 = request.form['content1']
content2 = request.form['content2']
with open('exported_file.txt', 'w') as f:
f.write(content1)
return redirect(url_for('home'))
if __name__ == '__main__':
app.run(debug=True)
在同一目录下创建templates文件夹,并在其中创建两个HTML模板文件index.html和compare.html。
index.html模板文件内容如下:
<!DOCTYPE html>
<html>
<head>
<title>Text Comparison</title>
</head>
<body>
<h1>Text Comparison</h1>
<form action="/" method="post" enctype="multipart/form-data">
<input type="file" name="file1">
<input type="file" name="file2">
<input type="submit" value="Compare">
</form>
</body>
</html>
compare.html模板文件内容如下:
<!DOCTYPE html>
<html>
<head>
<title>Text Comparison</title>
</head>
<body>
<h1>Text Comparison</h1>
<form action="/update" method="post">
<textarea name="content1" rows="10" cols="50">
{% for line in lines1 %}
{{ line }}
{% endfor %}
</textarea>
<textarea name="content2" rows="10" cols="50">
{% for line in lines2 %}
{{ line }}
{% endfor %}
</textarea>
<input type="submit" value="Update">
</form>
<form action="/export" method="post">
<input type="hidden" name="content1" value="{{ '\n'.join(lines1) }}">
<input type="hidden" name="content2" value="{{ '\n'.join(lines2) }}">
<input type="submit" value="Export">
</form>
</body>
</html>
运行以上代码后,访问http://localhost:5000即可使用该网页进行文本文件的导入、对照和导出操作。
原文地址: https://www.cveoy.top/t/topic/iaJK 著作权归作者所有。请勿转载和采集!