吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 173|回复: 9
上一主题 下一主题
收起左侧

[资源求助] python代码TXT转word格式的,请问谁会,各位论坛小伙伴

[复制链接]
跳转到指定楼层
楼主
wangsheng518 发表于 2024-11-21 19:56 回帖奖励
200吾爱币
请问谁会python代码TXT转word格式的,各位论坛小伙伴。
python  txt 转换word 格式

1.诉求 题目自己可以选择颜色。

2.诉求  选的颜色是绿色  不选的颜色是红色

3.诉求  恭喜你,答对了?我的得分:5分  填充黄色背景 绿色字体加粗    太遗憾了,答错了 我的得分:0分  红色字体 加粗 黄色背景



源代码的忘了 ,打包了 EXE格式了    之前的原代码

https://wwij.lanzout.com/iz7qc2frpxoh

现在的效果



最佳答案

查看完整内容

发错了,,https://wwwj.lanzouw.com/iWKe72ftd6lc

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
tantanxin147 发表于 2024-11-21 19:56
wangsheng518 发表于 2024-11-22 03:57
感谢小伙伴,我看下载的不是叫试题转换器,名称是文件夹扫描工具

发错了,https://wwwj.lanzouw.com/iWKe72ftd6lc
3#
 楼主| wangsheng518 发表于 2024-11-21 19:57 |楼主
4#
rootbot007 发表于 2024-11-21 22:22
因为原先exe源码看不到,原有逻辑不是很清楚,有几个问题想核实一下哈:
1. 原先代码中对word文档标题是如何规定的?比如字体大小和字体颜色、字体样式,以及字体下发那条横线是必须要的吗?那条横线是什么?
2. 所有“问题“”的字体是宋体小四加粗,颜色用程序指定
3. 所有“选项”的字体是宋体11,颜色有红绿之分
4. “做题反馈”的字体是宋体11,颜色用上述逻辑给定
5#
Arcticlyc 发表于 2024-11-21 22:42
[Python] 纯文本查看 复制代码
# uncompyle6 version 3.9.2
# Python bytecode version base 3.8.0 (3413)
# Decompiled from: Python 3.8.10 (tags/v3.8.10:3d8993a, May  3 2021, 11:48:03) [MSC v.1928 64 bit (AMD64)]
# Embedded file name: TXT转换WORD.py
import os, docx
from docx.enum.text import WD_COLOR_INDEX
from docx.oxml.ns import qn
from docx.shared import Pt
from docx.shared import RGBColor
cwd = os.getcwd()
input_file = os.path.join(cwd, "题库.txt")
output_file = os.path.join(cwd, "题库.docx")
while True:
    while True:
        input_filename = input("请输入需要调整的txt文件路径(默认为当前目录):" + input_file + "\n")
        output_filename = input("请输入调整后txt文件的路径(默认为当前目录):" + output_file + "\n")
        title = input("请输入WORD文档标题(默认为“单选题”):\n")
        if len(str(title)) == 0:
            title = "单选题"
        if len(str(input_filename)) == 0:
            input_filename = input_file
        if len(str(output_filename)) == 0:
            output_filename = output_file
        if os.path.isfile(input_filename):
            break
        else:
            print("路径输入错误,请重新输入!")

rgbs = {'黑色': (0, 0, 0), 
 '红色': (255, 0, 0), 
 '蓝色': (0, 0, 255), 
 '黄色': (255, 255, 0), 
 '青色': (0, 255, 255), 
 '品红': (0, 255, 255), 
 'CornflowerBlue': (100, 149, 237)}
filr = 1
print("可选颜色共有以下几种(请输入颜色名作为选择):")
for rgb in rgbs.keys():
    print(str(filr) + "." + rgb)
    filr += 1
else:
    p1 = input("请选择题目颜色...键入示例:黑色\n")
    if p1 in rgbs.keys():
        key_rgb = RGBColor(*rgbs[p1])
    else:
        key_rgb = RGBColor(100, 149, 237)
        print("使用默认颜色...\n")
    p2 = input("请选择答案选项颜色...\n")
    if p2 in rgbs.keys():
        value_rgb = RGBColor(*rgbs[p2])
    else:
        value_rgb = RGBColor(255, 0, 0)
        print("使用默认颜色...\n")
    document = docx.Document()
    document.add_heading(title, 0)
    document.styles["Normal"].font.name = "宋体"
    document.styles["Normal"]._element.rPr.rFonts.set(qn("w:eastAsia"), "宋体")
    values = list()
    key = ""
    flag = False
    value_right_rgb = WD_COLOR_INDEX.YELLOW

    def insert_docx(key_rgb, value_rgb, value_right_rgb, key, values):
        p = document.add_paragraph()
        key_run = p.add_run(key)
        key_run.font.color.rgb = key_rgb
        key_run.font.size = Pt(12)
        key_run.font.bold = True
        for m in values:
            if "(不选)" in m:
                m = m.replace("(不选)", "")
                run = p.add_run(m)
                run.font.color.rgb = value_rgb
            elif "(选)" in m:
                m = m.replace("(选)", "")
                run = p.add_run(m)
                run.font.color.rgb = value_rgb
                run.font.highlight_color = value_right_rgb
            else:
                run = p.add_run(m)


    with open(input_filename, encoding="utf-8") as f:
        lines = f.readlines()
    for line in lines:
        if "." in line[0[:4]]:
            num_s = line.split(".")
        else:
            if "、" in line[0[:4]]:
                num_s = line.split("、")
            else:
                num_s = line
        try:
            if len(num_s) >= 2 and num_s[0].isdigit():
                if flag:
                    insert_docx(key_rgb, value_rgb, value_right_rgb, key, values)
                    flag = False
                    values = list()
                key = line
            else:
                values.append(line)
                flag = True
        except Exception as e:
            try:
                print(e, line)
                values = list()
                key = ""
                flag = False
            finally:
                e = None
                del e

    else:
        document.save(output_filename)
        print("操作已成功完成,请到输出目录下查看!")
        os.system("pause")

# okay decompiling TXT转换WORD.pyc

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
wangsheng518 + 1 + 1 用心讨论,共获提升!

查看全部评分

6#
 楼主| wangsheng518 发表于 2024-11-21 22:54 |楼主
rootbot007 发表于 2024-11-21 22:22
因为原先exe源码看不到,原有逻辑不是很清楚,有几个问题想核实一下哈:
1. 原先代码中对word文档标题是如 ...

我也不知道 以前论坛的小伙伴做的
7#
 楼主| wangsheng518 发表于 2024-11-21 23:05 |楼主
Arcticlyc 发表于 2024-11-21 22:42
[mw_shl_code=python,true]# uncompyle6 version 3.9.2
# Python bytecode version base 3.8.0 (3413)
#  ...

我试了一下 选和不选 还是没有识别出来的  
8#
tantanxin147 发表于 2024-11-22 02:49

哪里不行改哪里   下载地址:https://wwwj.lanzouw.com/iXkqe2ft1txa
9#
 楼主| wangsheng518 发表于 2024-11-22 03:57 |楼主
tantanxin147 发表于 2024-11-22 02:49
哪里不行改哪里   下载地址:https://wwwj.lanzouw.com/iXkqe2ft1txa

感谢小伙伴,我看下载的不是叫试题转换器,名称是文件夹扫描工具
10#
 楼主| wangsheng518 发表于 2024-11-22 20:26 |楼主
tantanxin147 发表于 2024-11-22 08:43
发错了,,https://wwwj.lanzouw.com/iWKe72ftd6lc

非常感谢小伙伴
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 03:48

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表