文本比较工具:导入、对照、修改、导出文本文件

这是一个使用Python编写的网页工具,可以导入TXT、INI等格式的文本文件,并支持将两个文本进行逐行对照。你还可以直接在网页中修改文本内容,并以原格式导出。

使用方法:

  1. 运行代码,启动本地服务器。
  2. 访问http://localhost:5000打开网页。
  3. 上传两个文本文件。
  4. 网页会显示两个文本文件的逐行对照。
  5. 你可以在网页中直接修改文本内容。
  6. 点击“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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录