本文来源吾爱破解论坛
本帖最后由 ymhld 于 2020-1-27 17:29 编辑 GIF 2020-1-25 18-02-40.gif (418.93 KB, 下载次数: 0)
下载附件
保存到相册
QQ截图20200125180623.png (192.27 KB, 下载次数: 0)
下载附件
保存到相册
一、编排原因:
在悬赏区答复时,因为下载的文件排版格式比较乱,尤其是段落排版不是很好,因此想用刚学的python进行一下排版
二、编排原则:
去掉头尾无用的空格等,自动在行尾遇到。”两种字符,进行段落划分。如遇到行首有“,则将”划分至上一段落。
三、编排处理:
首先做了文字处理部分,使其达到基本要求。
最后加入TK控件,使界面更友好,打开、处理、保存文件、提示等操作更直观。
四、应用注意:
txt文档的处理要用UTF-8格式。
如果有从网上下载的格式比较乱的文档,也可以用此方法进行编排。
在处理的同时,已经存储了,格式为原文档的名字后加个1
代码如下:(修正一处,要不保存是保存两遍的)
#-*-coding:GBK -*-
#
print(" ")
print(" _____ _____ _____ _____ ____ ")
print(" ___|\ \ |\ \ / /||\ \ _____ | |")
print("| |\ \ | \ \ / / || | | / /| | |")
print("| | | || \____\/ / /\/ / | || | |")
print("| | /_ _ / \ | / / / / /_ \ \/ ____ | |")
print("| |\ \ \|___/ / / | // \ \ \ | | | |")
print("| | | | / / / | |/ \ | || | | |")
print("|____|/____/| /____/ / |\ ___/\ \| /||\____\|____|")
print("| / || |` | / | | | \______/ || | | |")
print("|____|_____|/ |_____|/ \|___|/\ | | | \|____|____|")
print(" \( )/ )/ \( \|____|/ \( )/ ")
print(" ' ' ' ' )/ ' ' ")
print(" ' ")
"""
"""
import tkinter as tk
from tkinter import filedialog, dialog,messagebox
import os
window = tk.Tk()
window.title('文件段落整理') # 标题
window.geometry('600x380+600+200') # 窗口尺寸
window.resizable(width=False, height=False) #限制改变尺寸
#A9E024
file_path = ''
file_text = ''
dirname=''
#FFFFFF
text1 = tk.Text(window, width=50, height=10, bg='#A9E024', font=('Arial', 12))
text1.place(x=10,y=10,width=580,height=320)
def open_file():
'''
打开文件
:return:
'''
global file_path
global file_text
global dirname
contents = text1.get(0.0,tk.END).strip()
if contents !="":
text1.delete('1.0', tk.END)
if dirname=="":
dirname=os.getcwd()
file_path = filedialog.askopenfilename(title=u'打开文件',
filetypes=[('TXT', '*.TXT'), ('All Files', '*')],
initialdir=dirname)
print('打开文件:', file_path)
if file_path is not None:
with open(file=file_path, mode='r+', encoding='UTF-8') as file:
file_text = file.read()
text1.insert('insert', file_text)
def save_file():
global file_path
global file_text
global filename1
global dirname
contents = text1.get(0.0,tk.END).strip()
#print (len(contents))
if contents=="":
tk.messagebox.showinfo('文件不存在','请打开文件操作!')
open_file()
deal_file()
filename2=os.path.basename(filename1)
file_path1 = filedialog.asksaveasfilename(title=u'保存文件',
initialfile=filename2,
filetypes=[('TXT', '*.TXT'), ('All Files', '*')],
initialdir=dirname)
print('保存文件:', file_path1)
file_text = text1.get('1.0', tk.END)
if file_path1 is not None:
with open(file=file_path1, mode='w', encoding='UTF-8') as file:
file.write(file_text)
text1.delete('1.0', tk.END)
tk.messagebox.showinfo('文件存储完毕',file_path1+'保存完成')
print('保存完成')
def deal_file():
global file_path
global file_text
global dirname
global filename1
if file_path=="":
open_file()
dirname,filename=os.path.split(file_path)
print ('处理文件名',filename)
line1=" "
with open(file_path,'r',encoding='UTF-8') as file_object:
lines = file_object.readlines()
for line in lines: #lines[0:10]:
line=line.strip()
#print(line.strip())
if len(line)==0:
pass
else:
if line[-1:]=="。" or line[-1:]=="”" :
line=line+"\n "
#print (line[-4:-1],"***",line[-4:-1],"***")
if line[0]=="”":
if line1[-4:-1]==" "[-4:-1]:
line1=line1[:-5]+"”\n "
else:
line1=line1+"”"
line=line[1:]
line1=line1+line
#print(line1)
text1.delete('1.0', tk.END)
text1.insert('insert', line1)
filename1,filesuffix = os.path.splitext(filename)
filename1=os.path.join(dirname,filename1+"1"+filesuffix)
print (filename1)
with open(filename1,'w',encoding='UTF-8') as file_object:
file_object.write(line1)
bt1 = tk.Button(window, text='打开文件', width=15, height=2,command=open_file)
bt1.place(x=80,y=340,width=70,height=30)
bt3 = tk.Button(window, text='整理文件', width=15, height=2, command=deal_file)
bt3.place(x=265,y=340,width=70,height=30)
#bt3.grid(row=0,column=1)
#bt3.pack()
bt2 = tk.Button(window, text='保存文件', width=15, height=2, command=save_file)
bt2.place(x=450,y=340,width=70,height=30)
#bt3.grid(row=0,column=2)
#bt2.pack()
window.mainloop() # 显示
编译后的文件:(zip和exe)
https://www.lanzous.com/i8vrqwj
https://www.lanzous.com/i8vrqzc
测试用txt
https://www.lanzous.com/i8uwlhi
应用效果:
排版前后比较:
后记:
今天去优秀会员评选的帖子里去转时,发现了同款软件,一并发给大家
https://www.52pojie.cn/thread-918163-1-1.html
版权声明:
本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。
- 上一篇: 小说爬虫
- 下一篇: 【分享】python-字符串去重的5种方法