A-A+

Python 程序:创建和删除随机命名的文档

2025年04月17日 11:03 学习笔记 暂无评论 共3802字 (阅读51 views次)

【注意:此文章为博主原创文章!转载需注意,请带原文链接,至少也要是txt格式!】

以前写这种python脚本可能要个30分钟、40分钟左右,现在不到5分钟。。。效率诶。。。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
import os
import random
import time
from docx import Document
from openpyxl import Workbook
import string
 
# 确保目标文件夹存在
target_dir = r"D:\规范制度"
if not os.path.exists(target_dir):
    os.makedirs(target_dir)
 
# 常用汉字集
chinese_chars = [
    '的', '一', '是', '了', '我', '不', '人', '在', '他', '有', '这',
    '个', '上', '们', '来', '到', '时', '大', '地', '为', '子', '中',
    '你', '说', '生', '国', '年', '着', '就', '那', '和', '要', '她',
    '出', '也', '得', '里', '后', '自', '以', '会', '家', '可', '下',
    '而', '过', '天', '去', '能', '对', '小', '多', '然', '于', '心',
    '学', '么', '之', '都', '好', '看', '起', '发', '当', '没', '成',
    '只', '如', '事', '把', '还', '用', '第', '样', '道', '想', '作',
    '种', '开', '美', '总', '从', '无', '情', '己', '面', '最', '女',
    '但', '现', '前', '些', '所', '同', '日', '手', '又', '行', '意',
    '动', '方', '期', '它', '头', '经', '长', '儿', '回', '位', '分'
]
 
#DLP敏感汉字集
dlp_sensitive_keywords = [
    # 个人身份信息
    "身份证", "身份证号码", "ID card", "护照", "passport", "社保号", "SSN", "驾照",
    "出生证明", "户口本", "居民户口簿", "军官证", "银行卡号", "信用卡号", "CVV", "信用卡有效期",
 
    # 财务相关
    "银行账户", "银行密码", "支付宝账号", "微信支付", "财务报表", "薪资表", "工资单",
    "税单", "发票", "资产负债表", "profit and loss", "现金流量表", "财务预测",
    "季度报告", "年度报告", "审计报告", "投资计划", "budget", "预算",
 
    # 医疗健康
    "病历", "医疗记录", "诊断结果", "处方", "药品清单", "医保卡号", "血型",
    "疾病史", "传染病", "心理健康", "精神病史", "体检报告", "DNA", "基因检测",
 
    # 账户认证
    "密码", "password", "口令", "PIN", "私钥", "secret key", "安全问题答案",
    "双因素认证", "2FA", "指纹", "生物识别", "人脸识别", "验证码", "OTP",
 
    # 企业机密
    "商业计划", "商业秘密", "合同", "客户名单", "供应商清单", "产品路线图", "roadmap",
    "研发计划", "专利申请", "源代码", "source code", "算法", "algorithm", "技术规范",
    "未公布产品", "收购计划", "merger", "acquisition", "融资计划", "IPO",
 
    # 内部通信
    "内部邮件", "会议纪要", "保密协议", "NDA", "备忘录", "内部通知", "员工手册",
    "公司政策", "人事变动", "裁员计划", "重组计划", "内部审计", "whistleblower",
 
    # 敏感标记
    "机密", "confidential", "秘密", "secret", "绝密", "top secret", "内部使用",
    "internal use only", "请勿外传", "do not distribute", "受限访问", "restricted",
    "专有信息", "proprietary", "敏感信息", "sensitive information",
 
    # 网络安全
    "防火墙配置", "服务器IP", "管理员账号", "root密码", "admin账号", "系统漏洞",
    "安全漏洞", "渗透测试", "网络拓扑", "VPN配置", "加密密钥", "数据库连接字符串",
    "API密钥", "SSH密钥", "证书私钥", "加密算法",
 
    # 行业特定
    "核心技术", "研发成果", "临床试验", "测试数据", "生产配方", "formula",
    "制造工艺", "工艺流程", "客户反馈", "竞争对手分析", "market analysis",
    "未公开财务数据", "定价策略", "pricing strategy", "促销计划",
 
    # 军事政府
    "军事机密", "国防计划", "武器系统", "情报", "intelligence", "政府文件",
    "政策草案", "classified", "国家安全", "national security", "外交电报",
    "diplomatic", "战略部署", "strategic"
]
 
# 生成随机汉字名称
def generate_random_name():
    name_length = random.randint(30, 50)  # 随机2-5个汉字
    return ''.join(random.choice(chinese_chars) for _ in range(name_length))
 
 
# 生成随机内容
def generate_random_content():
    # 随机生成一段文本
    paragraphs = random.randint(1, 5)
    content = []
    for _ in range(paragraphs):
        length = random.randint(10, 50)
        paragraph = ''.join(random.choice(chinese_chars) for _ in range(length))
        content.append(paragraph)
    return content
 
 
# 创建随机Word文档
def create_random_word_file():
    filename = generate_random_name() + ".docx"
    file_path = os.path.join(target_dir, filename)
 
    # 创建Word文档
    doc = Document()
 
    # 添加标题
    doc.add_heading(generate_random_name(), level=1)
 
    # 添加段落
    for paragraph in generate_random_content():
        doc.add_paragraph(paragraph)
 
    # 保存文档
    doc.save(file_path)
 
    return file_path
 
 
# 创建随机Excel文件
def create_random_excel_file():
    filename = generate_random_name() + ".xlsx"
    file_path = os.path.join(target_dir, filename)
 
    # 创建Excel工作簿
    wb = Workbook()
    ws = wb.active
 
    # 添加标题行
    headers = [generate_random_name() for _ in range(random.randint(3, 6))]
    for col, header in enumerate(headers, start=1):
        ws.cell(row=1, column=col, value=header)
 
    # 添加随机数据
    rows = random.randint(5, 15)
    for row in range(2, rows + 2):
        for col in range(1, len(headers) + 1):
            # 随机决定是放数字还是文本
            if random.choice([True, False]):
                ws.cell(row=row, column=col, value=random.randint(1, 1000))
            else:
                ws.cell(row=row, column=col, value=generate_random_name())
 
    # 保存工作簿
    wb.save(file_path)
 
    return file_path
 
 
def main():
    for i in range(10):
        print(f"循环 {i + 1}/10")
 
        # 随机选择创建Word或Excel文件
        if random.choice([True, False]):
            file_path = create_random_word_file()
            file_type = "Word"
        else:
            file_path = create_random_excel_file()
            file_type = "Excel"
 
        print(f"已创建{file_type}文件: {os.path.basename(file_path)}")
 
        # 等待一下,模拟文件使用过程
        time.sleep(1)
 
        # 删除文件
        # if os.path.exists(file_path):
        #     os.remove(file_path)
        #     print(f"已删除文件: {os.path.basename(file_path)}")
        # else:
        #     print(f"文件不存在: {os.path.basename(file_path)}")
 
        print("-" * 40)
 
 
if __name__ == "__main__":
    main()

布施恩德可便相知重

微信扫一扫打赏

支付宝扫一扫打赏

×

给我留言