文本比较工具:导入、对照、修改、导出文本文件
文本比较工具:导入、对照、修改、导出文本文件
这是一个使用Python编写的网页工具,可以导入TXT、INI等格式的文本文件,并支持将两个文本进行逐行对照。你还可以直接在网页中修改文本内容,并以原格式导出。
使用方法:
- 运行代码,启动本地服务器。
- 访问
http://localhost:5000打开网页。 - 上传两个文本文件。
- 网页会显示两个文本文件的逐行对照。
- 你可以在网页中直接修改文本内容。
- 点击“Export”按钮,将修改后的文本内容以原格式导出。
代码示例:
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('
')
lines2 = content2.split('
')
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('
')
lines2 = content2.split('
')
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)
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="{{ '
'.join(lines1) }}">
<input type="hidden" name="content2" value="{{ '
'.join(lines2) }}">
<input type="submit" value="Export">
</form>
</body>
</html>
注意:
- 以上代码需要安装Flask库:
pip install Flask - 请确保
templates文件夹位于与Python代码相同的目录下。
原文地址: http://www.cveoy.top/t/topic/fOQN 著作权归作者所有。请勿转载和采集!