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

news2024/12/23 1:14:15

1、创建JSON文件

代码

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文件

    代码

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.coloradmin.cn/o/2263974.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

鸿蒙UI开发——组件滤镜效果

1、概 述 ArkUI为组件提供了滤镜效果设置,背景滤镜、前景滤镜、合成滤镜。我们可以通过以下方式为组件设置对应的滤镜效果。 Text(前景滤镜)// ..其他属性.foregroundFilter(filterTest1) // 通过 foregroundFilter 设置模糊效果Text(背景滤镜)// ...其他属性.bac…

均方误差损失函数(MSE)和交叉熵损失函数详解

为什么需要损失函数 前面的文章我们已经从模型角度介绍了损失函数,对于神经网络的训练,首先根据特征输入和初始的参数,前向传播计算出预测结果,然后与真实结果进行比较,得到它们之间的差值。 损失函数又可称为代价函…

抓包 127.0.0.1 (loopback) 使用 tcpdump+wireshark

直接使用 wireshark无法抓取 127.0.0.1环回的数据包,一种解决方法是先传到路由器再返回,但这样可能造成拥塞。 Linux 先使用tcpdump抓包并输出为二进制文件,然后wireshark打开。 比如 sudo tcpdump -i lo src host localhost and dst host…

免费GIS工具箱:轻松将glb文件转换成3DTiles文件

在GIS地理信息系统领域,GLB文件作为GLTF文件的二进制版本,主要用于3D模型数据的存储和展示。然而,GLB文件的使用频率相对较低,这是因为GIS系统主要处理的是地理空间数据,如地图、地形、地貌、植被、水系等,…

安防监控Liveweb视频汇聚融合平台助力执法记录仪高效使用

Liveweb平台可接入的设备除了常见的智能分析网关与摄像头以外 ,还可通过GB28181协议接入执法记录仪,实现对执法过程的全程监控与录像,并对执法轨迹与路径进行调阅回看。那么,如何做到执法记录仪高效使用呢? 由于执法记…

【Unity3D】实现可视化链式结构数据(节点数据)

关键词:UnityEditor、可视化节点编辑、Unity编辑器自定义窗口工具 使用Newtonsoft.Json、UnityEditor相关接口实现 主要代码: Handles.DrawBezier(起点,终点,起点切线向量,终点切线向量,颜色,n…

网络安全核心目标CIA

网络安全的核心目标是为关键资产提供机密性(Confidentiality)、可用性(Availablity)、完整性(Integrity)。作为安全基础架构中的主要的安全目标和宗旨,机密性、可用性、完整性频频出现,被简称为CIA,也被成为你AIC,只是顺序不同而已…

[项目代码] YOLOv8 遥感航拍飞机和船舶识别 [目标检测]

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

去雾Cycle-GAN损失函数

文章目录 GAN-LossIdentity-LossDP-lossCycle-Loss G和F都是生成器 G是hazy → \to → gt F是gt → \to → hazy D y D_y Dy​判别无雾图是真实还是生成的? D x D_x Dx​判别有雾图是真实还是生成的? GAN-Loss 在 DAM-CCGAN 中存在两个判别器 D x D_x D…

2024年企业中生成式 AI 的现状报告

从试点到生产,企业 AI 格局正在被实时改写。我们对 600 名美国企业 IT 决策者进行了调查,以揭示新兴的赢家和输家。 从试点到生产 2024 年标志着生成性人工智能成为企业关键任务的一年。这些数字讲述了一个戏剧性的故事:今年人工智能支出飙升…

组件十大传值

一、defineProps 和 defineEmits defineProps 用于定义子组件接收的 props,即父组件传递给子组件的数据。 接收父组件传递的数据:定义子组件可以接受的属性及其类型。类型检查:确保传递的数据符合预期的类型。 defineEmits 用于定义子组件…

WPF 依赖属性和附加属性

除了普通的 CLR 属性, WPF 还有一套自己的属性系统。这个系统中的属性称为依赖属性。 1. 依赖属性 为啥叫依赖属性?不叫阿猫阿狗属性? 通常我们定义一个普通 CLR 属性,其实就是获取和设置一个私有字段的值。假设声明了 100 个 …

递归实现指数型枚举(递归)

92. 递归实现指数型枚举 - AcWing题库 每个数有选和不选两种情况 我们把每个数看成每层,可以画出一个递归搜索树 叶子节点就是我们的答案 很容易写出每dfs函数 dfs传入一个u表示层数 当层数大于我们n时,去判断每个数字的选择情况,输出被选…

mac 安装graalvm

Download GraalVM 上面链接选择jdk的版本 以及系统的环境下载graalvm的tar包 解压tar包 tar -xzf graalvm-jdk-<version>_macos-<architecture>.tar.gz 移入java的文件夹目录 sudo mv graalvm-jdk-<version> /Library/Java/JavaVirtualMachines 设置环境变…

【WPS安装】WPS编译错误总结:WPS编译失败+仅编译成功ungrib等

WPS编译错误总结&#xff1a;WPS编译失败仅编译成功ungrib等 WPS编译过程问题1&#xff1a;WPS编译失败错误1&#xff1a;gfortran: error: unrecognized command-line option ‘-convert’; did you mean ‘-fconvert’?解决方案 问题2&#xff1a;WPS编译三个exe文件只出现u…

Redis 集群实操:强大的数据“分身术”

目录 Redis Cluster集群模式 1、介绍 2、架构设计 3、集群模式实操 4、故障转移 5、常用命令 Redis Cluster集群模式 1、介绍 redis3.0版本推出的Redis Cluster 集群模式&#xff0c;每个节点都可以保存数据和整个集群状态&#xff0c;每个节点都和其他所有节点连接。Cl…

数据结构day5:单向循环链表 代码作业

一、loopLink.h #ifndef __LOOPLINK_H__ #define __LOOPLINK_H__#include <stdio.h> #include <stdlib.h>typedef int DataType;typedef struct node {union{int len;DataType data;};struct node* next; }loopLink, *loopLinkPtr;//创建 loopLinkPtr create();//…

植物大战僵尸杂交版v3.0.2最新版本(附下载链接)

B站游戏作者潜艇伟伟迷于12月21日更新了植物大战僵尸杂交版3.0.2版本&#xff01;&#xff01;&#xff01;&#xff0c;有b站账户的记得要给作者三连关注一下呀&#xff01; 不多废话下载链接放上&#xff1a; 夸克网盘链接&#xff1a;&#xff1a;https://pan.quark.cn/s/5c…

Unity 圆形循环复用滚动列表

一.在上一篇垂直循环复用滚动列表的基础上&#xff0c;扩展延申了圆形循环复用滚动列表。实现此效果需要导入垂直循环复用滚动列表里面的类。 1.基础类 using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; using …

京东大数据治理探索与实践 | 京东零售技术实践

01背景和方案 在当今的数据驱动时代&#xff0c;数据作为关键生产要素之一&#xff0c;其在商业活动中的战略价值愈加凸显&#xff0c;京东也不例外。 作为国内领先的电商平台&#xff0c;京东在数据基础设施上的投入极为巨大&#xff0c;涵盖数万台服务器、数 EB 级存储、数百…