快速伪造一个文档

当我们在写一些教程的时候,不免为了演示效果,需要准备一些文档,那么如何快速的伪造一个用于演示的文档呢?

效果演示

我们使用一个python脚本,快速的伪造一个指定名称和内容行数的txt文档。

  • 👇首先,当然,我们需要运行py脚本,

    python docfaker.py
    
  • 👇脚本会提示我们输入文档名,我们输入需要伪造的文档名回车
    20231223130350

  • 👇 脚本会提示我们输入需要写入文档的内容的行数

    • 👇情景1, 我们输入一个大于0的数字,则会在伪造的文档中填充对应数量行的内容
      20231223131200

    • 👇情景2,我们输入0,则会伪造一个空的文档
      20231223131337

    • 👇情景3,我们不输入,则会伪造一个内容行数在0-50之间的文档
      20231223132228

代码分享

以下是以上演示效果的代码,希望可以帮助到有需要的人

# -*- coding:UTF-8 -*-
"""
@author: dyy
@contact: douyaoyuan@126.com
@time: 2023/12/19 9:41
@file: docfaker.py
@desc: xxxxxx
"""

# region 引入必要的依赖
import os

模块名 = 'DebugInfo'
try:
    from DebugInfo.DebugInfo import *
except ImportError as impErr:
    print(f"尝试导入 {模块名} 依赖时检测到异常:{impErr}")
    print(f"尝试安装 {模块名} 模块:")
    try:
        os.system(f"pip install {模块名}")
    except OSError as osErr:
        print(f"尝试安装模块 {模块名} 时检测到异常:{osErr}")
        exit(0)
    else:
        try:
            from DebugInfo.DebugInfo import *
        except ImportError as impErr:
            print(f"再次尝试导入 {模块名} 依赖时检测到异常:{impErr}")
            exit(0)

模块名 = 'pathvalidate '
try:
    from pathvalidate import is_valid_filename
except ImportError as impErr:
    print(f"尝试导入 {模块名} 依赖时检测到异常:{impErr}")
    print(f"尝试安装 {模块名} 模块:")
    try:
        os.system(f"pip install {模块名}")
    except OSError as osErr:
        print(f"尝试安装模块 {模块名} 时检测到异常:{osErr}")
        exit(0)
    else:
        try:
            from pathvalidate import is_valid_filename
        except ImportError as impErr:
            print(f"再次尝试导入 {模块名} 依赖时检测到异常:{impErr}")
            exit(0)

try:
    # 导入 faker 模块
    from faker import Faker
except ImportError as impErr:
    print("尝试导入 faker 依赖时检测到异常:", impErr)
    try:
        os.system("pip install faker")
        print("尝试导入 faker 成功")
    except OSError as osErr:
        print("尝试安装模块 faker 时检测到异常:", osErr)
        exit(0)
    else:
        try:
            # 如果模块安装成功,则再次尝试导入依赖
            from faker import Faker
        except Exception as expErr:
            print("再次尝试导入 faker 依赖时检测到异常:", expErr)
            exit(0)

# endregion

伪装1 = Faker(['zh_CN', 'en_US'])

def 文档名合法性检查(文档名:str)->bool:
    文档名 = str(文档名 if 文档名 else '')
    if not 文档名:
        return False
    return is_valid_filename(文档名)

if '__main__' == __name__:
    画板: 打印模板 = 打印模板(False)
    画板.执行位置(__file__)

    本地搜索:本地搜索接口类 = 本地搜索接口类()
    交互接口: 交互接口类 = 交互接口类()
    交互接口.输入提示修饰方法 = 蓝字

    文档名: str = ''
    while True:
        文档名 = 交互接口.发起文本交互(输入提示='请输入文档名(0: 退出): ',限定范围=文档名合法性检查,画板=画板.副本)
        if '0' == 文档名:
            画板.调试消息('用户要求退出程序')
            exit(0)
        if '.' not in 文档名:  # 如果文档名中没有后缀,则默认为txt 文档
            文档名 += '.txt'

        if 本地搜索.存在文档(文档=文档名, 画板=画板.副本):  # 文档已经存在,则提示是否覆盖
            用户确认: str = 交互接口.发起文本交互(输入提示=f'文档 {绿字(文档名)} 已经存在,是否覆盖?({绿字("y: 覆盖")};{红字("n: 不覆盖")}):',
                                                  限定范围='yYnN',
                                                  画板=画板.副本)
            if '0' == 用户确认:
                画板.调试消息('用户要求退出程序')
                exit(0)

            if 用户确认 in ['y', 'Y']:
                break
        else:  # 文档不存在
            break

    画板.调试消息(f'文档名是: {文档名}')

    内容行数 = 交互接口.发起文本交互(输入提示='请输入文档内容的行数: ', 允许空值=True, 限定范围=str.isdigit,画板=画板.副本)
    if not 内容行数:
        内容行数 = 伪装1.pyint(0,50)
    else:
        内容行数 = int(内容行数)

    空行机率: float = 0.25
    行列表: list[str] = []
    if 内容行数 > 0:
        for 行号 in range(内容行数):
            色子 = 伪装1.pyfloat(left_digits=0, right_digits=2, positive=True)
            if 色子 <= 空行机率:  # 这是行是空行
                行列表.append('')
            else:
                字数 = 伪装1.pyint(7, 20)
                行列表.append(f'第 {行号 + 1} 行: ' + str(伪装1.text(max_nb_chars=字数)).replace('\n', '↩'))

    if 行列表:
        画板.调试消息('\n'.join(行列表))
    else:
        画板.调试消息('文档内容为空')

    # 创建空文档
    os.system(f'echo "" | cat > {文档名}')
    if 行列表:  # 将行列表中的内容写入到文档名的文档中
        for 行号 in range(0, len(行列表), 500):  # 每 500 行写入一次, 避免 buff 过大
            内容: str = '\n'.join(行列表[行号:行号+500])
            if 0 == 行号:
                os.system(f'echo "{内容}" | cat > {文档名}')
            else:
                os.system(f'echo "{内容}" | cat >> {文档名}')

小结

这就是今天分享的内容了,感谢大家围观。

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
专升本《计算机应用基础》模拟一 1.美国第一台电子数字计算机诞生于( )。 A. 1936年 B. 1946年 C. 1952年 D.1959年 2.计算机硬件的五大基本构件包括运算器、存储器、输入设备、输出设备和( )。 A. 显示器 B. 控制器 C. 硬盘存储器 D. 鼠标器 3.不同的芯片有不同的字长,目前芯片有多种型号,其中奔腾IV芯片的字长是( )。 A. 8位 B. 16位 C. 32位 D. 64位 4. 计算机显示器画面的清晰度决定于显示器的( )。 A. 亮度 B. 色彩 C. 分辨率 D. 图形 5. 超市收款台检查货物的条形码,这属于计算机系统应用中的( )。 A. 输入技术 B. 输出技术 C. 显示技术 D. 索引技术 6. 计算机的主存储器是指( )。 A. RAM和磁盘 B. ROM C. RAM和ROM D. 硬盘和控制器 7、在Word编辑状态下,对于选定的文字( ) A.可以移动,不可以复制 B.可以复制,不可以移动 C.可以进行移动或复制 D.可以同时进行移动和复制 8.在Word编辑状态下,绘制一文本框,应使用的下拉菜单是( )。 A. "插入" B. "表格" C. "编辑" D. "工具" 9.在Word编辑状态下,进行改变段落的缩进方式、调整左右边界等操作,最直观、快速 的方法是利用( )。 A. 菜单栏 B. 工具栏 C. 格式栏 D. 标尺 10.在Excel中,工作簿是指( )。 A. 操作系统 B. 不能有若干类型的表格共存的单一电子表格 C. 图表 D. 在Excel环境中用来存储和处理工作数据的文件 11.在Excel中,( )形式不符合日期格式。 A. "10/15/04" B. 15-OCT-04 C. 2004/10/15 D.10-15-04 12、饼图所显示出不同于其他类型图表的关系是( ) A.能够表现个体与整体之间关系 B.能够反映数据的变动情况及变化趋势 C.能够反映多个数据在幅度上连续的变化情况 D.能够用于寻找两个系列数据之间的最佳组合 13.在"幻灯片浏览视图"模式下,不允许进行的操作是( )。 A. 幻灯片的移动和复制 B. 设置动画效果 C. 幻灯片删除 D. 幻灯片编辑 14.在PowerPoint中,会议可记录( ) A.生成一张新幻灯片 B.提醒你向观众提出问题 C.组织一个多个讲演者的会议 D.调配参加人的日程安排 15.下列各项中,不能实现新建演示文稿的是( )。 A. 打包功能 B. 空演示文稿 C. 设计模板 D. 内容提示向导 16.关于Internet,下列说法不正确的是( ) A.Internet是全球性的国际网络 B.Internet起源于美国 C.通过Internet可以实现资源共享 D.Internet不存在网络安全问题 17.www.edufe.com.cn是Internet中主机的( ) A.硬件编码 B.密码 C.软件编码 D.域名 18.下列( )命令可以查看网卡的MAC地址. A. ipconfig/release B、ipconfig/renew C、ipconfig/all D、ipconfig/registerdns 19.接入INTERNET并且支持FTP协议的两台计算机,对于它们之间的文件传输,下列说法 正确的是( ) A. 只能传输文本文件 B、不能传输图形文件 C、所有文件均能传输 D、只能传输几种类型的文件 20.匿名FTP是( ) A. Internet中一种匿名信的名称 B、在Internet上没有主机地址的FTP C、允许用户免费登录并下载文件的FTP D、用户之间能够进行传送文件的FTP 21.浏览Internet上的网页,需要知道( ) A. 网页的设计原则 B、网页制作的过程 C、网页的地址 D、网页的作者 22.下列关于网络病毒描述错误的是( ) A. 网络病毒不会对网络传输造成影响 B、与单机病毒比较,加快了病毒传播的速度 C、传播媒介是网络 D、可通过电子邮件传播 23.网络信息系统的可靠性测度主要有( ) A. 抗毁性 B、生存期 C、有效性 D、以上皆是 24.属于计算机犯罪的是( ) A. 非法截取信息、窃取各种情报 B. 复制与传播计算机病毒、黄色影像制品和其它非法活动 C. 借助计算机技术伪造串改信息、进行诈骗及其他非法活动 D. 以上皆是 25. Windows 2000操作系统的特点包括( )。 A. 图形界面 B. 多任务 C. 即插即用 D. 以上都对 26.在Excel 工作表中,在某单元格内输入数值123,不正确的输入形式是( )。 A.123 B.=123 C.+123 D.*123 27.Excel 工作表可以进行智能填充时,鼠标的形状为( )。
spring boot中文文档,从安装到部署。 I. Spring Boot文件 1.关于文档 2.获得帮助 3.第一步 4.使用Spring Boot 5.了解Spring Boot功能 6.转向生产 7.高级主题 II。入门 8.介绍Spring Boot 9.系统要求 9.1.Servlet容器 10.安装Spring Boot 10.1.Java Developer的安装说明 10.1.1.Maven安装 10.1.2.Gradle安装 10.2.安装Spring Boot CLI 10.2.1.手动安装 10.2.2.使用SDKMAN安装! 10.2.3.OSX Homebrew安装 10.2.4.MacPorts安装 10.2.5.命令行完成 10.2.6.Windows Scoop安装 10.2.7.快速启动Spring CLI示例 10.3.从早期版本的Spring Boot升级 11.开发您的第一个Spring Boot应用程序 11.1.创建POM 11.2.添加Classpath依赖项 11.3.编写代码 11.3.1.@RestController和@RequestMapping Annotations 11.3.2.@EnableAutoConfiguration注释 11.3.3.“主要”方法 11.4.运行示例 11.5.创建一个可执行的Jar 12.接下来要阅读的内容 III。使用Spring Boot 13.构建系统 13.1.依赖管理 13.2.Maven 13.2.1.继承Starter Parent 13.2.2.在没有父POM的情况下使用Spring Boot 13.2.3.使用Spring Boot Maven插件 13.3.Gradle 13.4.Ant 13.5.Starters 14.构建您的代码 14.1.使用“默认”包 14.2.找到主应用程序类 15.配置类 15.1.导入其他配置类 15.2.导入XML配置 16.自动配置 16.1.逐步更换自动配置 16.2.禁用特定的自动配置类 17. Spring Beans和依赖注入 18.使用@SpringBootApplication Annotation 19.运行您的应用程序 19.1.从IDE运行 19.2.作为打包应用程序运行 19.3.使用Maven插件 19.4.使用Gradle插件 19.5.热插拔 20.开发人员工具 20.1.Property默认值 20.2.自动重启 20.2.1.记录条件评估中的更改 20.2.2.不包括资源 20.2.3.观看其他路径 20.2.4.禁用重启 20.2.5.使用触发器文件 20.2.6.自定义重新启动类加载器 20.2.7.已知限制 20.3.LiveReload 20.4.全局设置 20.5.远程应用 20.5.1.运行远程客户端应用程序 20.5.2.远程更新 21.包装您的生产

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

团圆吧

1 分钱,求鼓励。

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

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

打赏作者

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

抵扣说明:

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

余额充值