python代码瞬间让txt文本变漂亮博文


  1. 待解决问题
  2. 实现效果
  3. 完整代码

(用“圆明园百科词条”举例说明)

  排好版的文本,一贴上博文,就纠结在一坨了。好难受😭😭

在这里插入图片描述

在这里插入图片描述


  其实,是有办法的,那就是上HTML标签,让博文按自己的意愿显现。 ( 回页首)

在这里插入图片描述

  这样子,是不是好看多了。😁😁


  那么多标签,好难加。慢!有 妙方,那就是祭出python代码的 利剑,秒完成标签添加。😃😃( 回页首)
  上代码……

#!sur/bin/nvepython
# coding: utf-8

import glob, os, re

#清屏
l = os.system(r'clear')

def to_html(filename):
    with open(r'./%s'%filename) as f:
        while True:
            title_s = f.readline().strip().replace('\n', '')
            if title_s!='':
                break
        txt_file = f.read()
    #-=标签替换=-
    #段首空格替换
    txt_file = txt_file.replace('    ', ' '*2)
    #替换换行符'\n'
    txt_file = txt_file.replace('\n', '<br>')
    #添加加粗标签
    j40_s = re.findall(r'\d{1,2}[.][ ](\w{1,16})[:](?#正则表达注释:提取圆明园40景名字符)', txt_file)
    print('\n圆明园40景列表:\n', j40_s)
    input('\n    共找到欲加粗的%s处圆明园景点名称。\n'%len(j40_s))
    #加粗圆明园40景名称
    k = 1
    for i in j40_s:
        print(r'%2d、“%s”替换为:'%(k, s := r'. %s'%i), re_s := r'. <b>%s</b>'%i)
        txt_file = txt_file.replace(s, re_s)
        k += 1
    input('\n    圆明园景名称完成加粗%s处。\n'%len(j40_s))
    #提取标题字符串
    b_s = re.findall(r'<br><br><br>(\w{1,16})(?#提取1~16个标题字符)', txt_file)
    print('\n小标题列表:\n', b_s)
    input('\n    共提取到欲加粗的%s处小标题。\n'%len(b_s))
    #添加小标题加粗标签
    k = 1
    for i in b_s:
        print(r'%2d、“%s”替换为:'%(k, s := r'<br><br><br>%s'%i), re_s := r'<br><p><b>%s</b>'%i)
        txt_file = txt_file.replace(s, re_s)
        k += 1
    input('\n    共完成加粗小标题%s处。\n'%len(b_s))
    #提取图片信息alt字符串
    img_s = re.findall(r'img(\w{1,30})(?#提取1~30个图片链接信息字符)', txt_file)
    print('\n图片链接位置列表:\n', img_s)
    input('\n    共找到图片链接%s处。\n'%len(img_s))
    #获取图片文件列表
    img_file = glob.glob(r'./Img/*.jpg')
    #添加图片链接标签
    k = 0 #初始化图片列表序号
    for i in img_s:
        print(r'%2d、“%s”替换为:'%(k+1, s := r'img%s'%i), re_s := r"<center><img src='%s' alt='%s' title='%s' width='500px'></center>"%(img_file[k], i, i))
        txt_file = txt_file.replace(s, re_s)
        k += 1
    input('\n    共完成图片链接标签代码添加%s处。\n'%len(img_s))
    #检查保存文件名是否重名
    k = 2
    filename = title_s
    while True:
        if glob.glob(r'./%s.html'%filename)!=[]:
            flag = input(''.join(['\n'*2, ' '*12, '文件重名!覆盖?(Y/N)']))
            if flag not in ('n', 'N'):
                break
            filename = title_s + str(k)
            k += 1
        else:
            break

    #写入html代码
    f2 = open(r'./%s.html'%filename, 'w')
    head_s = r'''<html>
<head>
<style>
    body{
        font-size: %s;
        width: 900;
        height: auto;
        margin: auto;
        margin-bottom: 20px;
        color: #003366;
        background-color: #99CCFF;
        border: 1px solid #AAAFAA;
    }
</style>
<title>%s</title>
</head>'''%('150%', title_s)

    f2.write(head_s)
    f2.write(r'<body>')
    f2.write(r'<center><h1>%s</h1></center>'%title_s)
    #写入页面主体代码
    f2.write(txt_file)
    #写入页尾标签
    f2.write(r'</body>')
    f2.write(r'</html>')
    #关闭写入文件
    f2.close()

if __name__=='__main__':
    print('')

#批量转换当前目录下的txt文件
for i in glob.glob('./*.txt'):
    to_html(i)
print('\n新生成的HTML文件列表:\n')
os.system(r'ls -l ./*.html')

上一篇:练习题:成绩评定器
下一篇:练习:猜数字
回页首


老齐漫画头像

精品文章:

来源:老齐教室


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦幻精灵_cq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值