#!/usr/bin/env python # -*- coding:utf-8 -*- __Author__ = "YanZanG" __product__ = "Spiritual conversion" import PyPDF2 import openpyxl import os import sys from docx import Document from color_me import ColorMe class Office(object): def __init__(self, file_path, file_name): self.file_path = file_path self.file_name = file_name self.Doc = Document() self.index = 0 def user_input(self): os.chdir(self.file_path) Count = True while (Count): Your_add_heading = input("请您输入标题:") Your_add_paragraph = input("请您输入内容:") if Your_add_heading.strip() == "" or Your_add_paragraph.strip() == "": print("标题或者内容不能为空,请您重新输入!!!") Count = True else: self.write(Your_add_heading, Your_add_paragraph) Count = False def write(self, Your_add_heading, Your_add_paragraph): self.index += 1 self.Doc.add_heading(Your_add_heading, level=self.index) self.Doc.add_paragraph(Your_add_paragraph) self.carry() def carry(self): Count = True while(Count): print("你是否还需要继续添加内容?(yes/no)") User_result = input("请您选择:").upper() if User_result.strip() == "": print("对不起,选择不能为空呀") elif User_result.strip() == "YES": self.user_input() elif User_result.strip() == "NO": self.Doc.save(self.file_name + ".docx") print("保存并退出成功,请您立即查看,欢迎再次使用,Bye~") sys.exit() def main(): welcome = ColorMe(f"Welcome to the {__product__} applet".center(60,"_")).green() print(welcome) Info_error = ColorMe("输入路径例如:F:\python-office").green() Count = True while(Count): Your_path = input("请您输入您需要保存的路径:").strip() Your_file_name = input("为你的情书起一个名字吧:").strip() if os.path.exists(Your_path): Success = ColorMe(f"系统检测{Your_path}路径成功!!!").green() print(Success) office_word = Office(Your_path, Your_file_name) office_word.user_input() Count = False else: file_error = ColorMe(f"系统检测'{Your_path}'路径失败,请您输入正确的保存路径").red() print(file_error) print(Info_error) if __name__ == '__main__': main()
Color_me:
#!/usr/bin/env Python #-*- coding:utf-8 -*- __author__ = 'De8ug' class ColorMe: """ give me color see see... 实际用起来很简单: ColorMe('somestr').blue() """ def __init__(self, some_str): self.color_str = some_str def blue(self): str_list = ["\033[34;1m", self.color_str, "\033[0m"] return ''.join(str_list) # "\033[34;1m" + self.color_str + "\033[0m" def green(self): str_list = ["\033[32;1m", self.color_str, "\033[0m"] return ''.join(str_list) # "\033[34;1m" + self.color_str + "\033[0m" def yellow(self): str_list = ["\033[33;1m", self.color_str, "\033[0m"] return ''.join(str_list) # "\033[34;1m" + self.color_str + "\033[0m" def red(self): str_list = ["\033[31;1m", self.color_str, "\033[0m"] return ''.join(str_list) # "\033[34;1m" + self.color_str + "\033[0m" def main(): ColorMe('somestr').blue() if __name__ == '__main__': main()