Pyqt6在lineEdit中输入文件名称并创建或删除JSON文件

news/2024/12/22 23:11:07 标签: python, 前端, pyqt

1、创建JSON文件

代码

python">import os

def addModulekeyWordFile(self):
    if "" != self.lineEdit_module.text():
      moduleFile = self.lineEdit_module.text() + '.json'
    else:
      self.toolLogPrinting('请输入模块名称')
      return
    filePath = modulekeyWordFileDir + moduleFile
    if os.path.exists(filePath):
      self.toolLogPrinting('文件已经存在于:' + filePath)
    else:
      with open(filePath, 'w') as f:
          f.write('{}')
      f.close()
      self.toolLogPrinting('已创建:' + filePath)
      self.refreshModulComboBox(modulekeyWordFileDir)

 def toolLogPrinting(self, content):
    curtime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
    self.plainTextEdit.appendPlainText(curtime + "  "+ content)

  def refreshModulComboBox(self, fileDir):
    self.getFileName(fileDir)
    self.comboBox_logmodule.clear()
    self.comboBox_logmodule.addItems(moduleFilename_arr)

代码功能解释

这段代码的功能是添加模块关键字文件

具体步骤如下:

1. 检查用户是否输入了模块名称。如果没有输入,则提示用户输入模块名称并返回。

2. 如果用户输入了模块名称,则生成对应的 JSON 文件路径。

3. 检查该文件是否存在。如果文件已存在,则提示用户文件已存在。

4. 如果文件不存在,则创建该文件,并写入空的 JSON 对象 `{}`。

5. 最后,刷新模块组合框以反映新添加的文件。 

控制流图

解释

  • A:开始执行 addModulekeyWordFile 方法。
  • B:检查用户是否在文本框中输入了模块名称。
  • C:如果模块名称为空,提示用户输入模块名称并结束方法。
  • D:如果模块名称不为空,生成对应的 JSON 文件路径。
  • E:检查生成的文件路径是否存在。
  • F:如果文件已存在,提示用户文件已存在。
  • G:如果文件不存在,创建文件并写入空的 JSON 对象。
  • H:刷新模块组合框以反映新添加的文件。
  • I:结束方法。

2、删除JSON文件

    代码

python">import os

def delmoduleFile(self):
    if "" != self.lineEdit_module.text():
      moduleFile = self.lineEdit_module.text() + '.json'
    else:
      self.toolLogPrinting('请输入模块名称')
      return
    filePath = modulekeyWordFileDir + moduleFile
    if os.path.exists(filePath):
      os.remove(filePath)
      self.toolLogPrinting('文件删除成功')
      self.refreshModulComboBox(modulekeyWordFileDir)
    else:
      self.toolLogPrinting('没有找到要删除的文件:' + filePath)

代码功能解释

这段代码实现了删除模块文件的功能,

具体步骤如下:

1. 检查用户是否输入了模块名称。

2. 如果有输入,则生成对应的JSON文件路径。

3. 检查文件是否存在。

4. 如果文件存在,则删除文件并刷新模块组合框;如果文件不存在,则提示用户。

控制流图

解释

  • A[开始]: 函数开始执行。
  • B{检查模块名称是否为空}: 检查用户是否在 lineEdit_module 中输入了模块名称。
  • C[提示请输入模块名称]: 如果模块名称为空,提示用户输入模块名称并结束函数。
  • D[生成文件路径]: 如果模块名称不为空,生成对应的JSON文件路径。
  • E{检查文件是否存在}: 检查生成的文件路径是否存在。
  • F[删除文件]: 如果文件存在,删除该文件。
  • G[提示删除成功]: 提示用户文件删除成功。
  • H[刷新模块组合框]: 刷新模块组合框以反映最新的模块列表。
  • I[提示没有找到文件]: 如果文件不存在,提示用户没有找到要删除的文件。
  • J[结束]: 函数结束。

http://www.niftyadmin.cn/n/5796065.html

相关文章

【潜意识Java】深度解析黑马项目《苍穹外卖》与蓝桥杯算法的结合问题

目录 为什么要结合项目与算法? 1. 蓝桥杯与《苍穹外卖》项目的结合 实例:基于蓝桥杯算法思想的订单配送路径规划 问题描述: 代码实现:使用动态规划解决旅行商问题 代码解析: 为什么这个题目与蓝桥杯相关&#x…

Java阶段四-SpringBoot01

第4章-第1节 一、知识点 整合SSM、SpringBoot 二、目标 整合SSM 创建SpringBoot项目并使用 三、内容分析 重点 整合SSM 创建SpringBoot项目并使用 难点 整合SSM 创建SpringBoot项目并使用 四、内容 1、SSM整合 1.1 创建Maven项目并导入数据库 IDEA版本不同&#…

跟着问题学18——transformer详解(2)多头自注意力机制

跟着问题学18——transformer模型详解及代码实战(1)输入层-CSDN博客 2.2 自注意力机制(Self-attention) 前面我们得到了数据序列的词向量输入,接下来我们就要开始挖掘提取数据中的特征。在前面的RNN系列模型中&#…

<项目代码>YOLO Visdrone航拍目标识别<目标检测>

项目代码下载链接 <项目代码>YOLO Visdrone航拍目标识别<目标检测>https://download.csdn.net/download/qq_53332949/90163918YOLOv8是一种单阶段(one-stage)检测算法,它将目标检测问题转化为一…

后端使用Spring Boot框架 + 前端VUE 实现滑动模块验证码

在现在常用的登录验证码方式有很多种,但是都不可避免被攻击,但是有很多方式可以防止被攻击,从而进行维护。 现在我就讲解一下滑动块验证码的实现方式: 这个是前端代码,我使用的是vue,在使用的时候注意&am…

[JavaScript] 如何实现不同体系内对象的交流

就是两个对象分属于两个不同的大对象,埋的也很深,该怎么让他们交流. 两个祖先对象中的子对象需要交流,那么应该在同时包含了这两个祖先对象的对象中建立方法,子对象的父级够不到另一个子对象就到子对象的祖父级,再够不…

跨越平台界限:探索Native AOT的交叉编译技术

在当今多元化的技术生态中,软件开发者们经常面临一个挑战:如何使应用程序能够在不同的操作系统和硬件平台上无缝运行。传统的解决方案通常依赖于解释型语言或虚拟机技术,但这些方法在某些高性能要求或资源受限的场景中可能并不理想。Native A…

【RAII | 设计模式】C++智能指针,内存管理与设计模式

前言 nav2系列教材,yolov11部署,系统迁移教程我会放到年后一起更新,最近年末手头事情多,还请大家多多谅解。 上一节我们讲述了C移动语义相关的知识,本期我们来看看C中常用的几种智能指针,并看看他们在设计模式中的运…