开启辅助访问

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

文本TXT内容清空并保存文件

查看数: 187 | 评论数: 8 | 收藏 0
关灯 | 提示:支持键盘翻页 & lt;-左 右 ->
    组图打开中,请稍候......
发布时间: 2025-4-19 12:11

正文摘要:

例如上图,多个TXT文件里面都有内容,我想一次将多个TXT里面的内容清空并保留文件(TXT。) 有大哥帮忙看看咋写不

回复

熬夜   浙江省温州市 发表于 2025-4-19 12:27:01
获取所有文件名  创建新的空文本到新的目录  删除所有原来的文件名

点评

不用这么麻烦啊,直接枚举,写空字节进去不就行了吗   **  发表于 2025-4-19 12:33
Ruang   江苏省盐城市 发表于 2025-4-19 12:19:33
直接空数据覆盖文件名
BOR   河南省信阳市 发表于 2025-4-19 12:18:23
回复要审核???https://f.wss.ink/f/gsxncwy9azo 复制链接到浏览器打开
aipca   江苏省无锡市 发表于 2025-4-19 12:17:32
  
子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
路径文本型 
文本文件文本型0
i整数型 
路径 = 取运行目录 ()“\TXT”
文件_枚举 (路径, “*.txt”, 文本文件, 真, 假, )
计次循环首 (取数组成员数 (文本文件), i)
写到文件 (文本文件 [i], {  })
计次循环尾 ()

点评

速度真快   **  发表于 2025-4-19 12:19
BOR   河南省信阳市 发表于 2025-4-19 12:17:05
  
import sys
import os
from PyQt6.QtWidgets import (
QApplication, QWidget, QVBoxLayout, QPushButton,
QLabel, QFileDialog, QMessageBox
)
from PyQt6.QtCore import Qt
class TxtCleaner (QWidget):
def __init__ (self):
super ().__init__ ()
self.setWindowTitle ("批量清空 TXT 内容")
self.setFixedSize (400, 180)
self._init_ui ()
def _init_ui (self):
layout = QVBoxLayout ()
layout.setSpacing (15)

self.folder_label = QLabel ("请选择包含 TXT 文件的文件夹")
self.folder_label.setAlignment (Qt.AlignmentFlag.AlignCenter)
layout.addWidget (self.folder_label)

choose_btn = QPushButton ("选择文件夹")
choose_btn.clicked.connect (self.choose_folder)
layout.addWidget (choose_btn)

clear_btn = QPushButton ("一键清空所有 TXT 内容")
clear_btn.clicked.connect (self.clear_txts)
clear_btn.setEnabled (False)
self.clear_btn = clear_btn
layout.addWidget (clear_btn)
self.setLayout (layout)
def choose_folder (self):
folder = QFileDialog.getExistingDirectory (self, "选择文件夹", os.getcwd ())
if folder:
self.folder_path = folder
self.folder_label.setText (f"当前文件夹:{folder}")
self.clear_btn.setEnabled (True)
def clear_txts (self):
txt_files = [
f for f in os.listdir (self.folder_path)
if os.path.isfile (os.path.join (self.folder_path, f)) and f.lower ().endswith (".txt")
]
count = 0
for name in txt_files:
path = os.path.join (self.folder_path, name)
try:

with open (path, "w", encoding="utf-8"):
pass
count += 1
except Exception as e:
print (f"清空失败:{path} -> {e}")
QMessageBox.information (
self, "操作完成",
f"共清空 {count} 个 TXT 文件的内容。"
)
if __name__ == "__main__":
app = QApplication (sys.argv)
window = TxtCleaner ()
window.show ()
sys.exit (app.exec ())

BOR   河南省信阳市 发表于 2025-4-19 12:16:45
https://f.wss.ink/f/gsxncwy9azo 复制链接到浏览器打开




  
import sys
import os
from PyQt6.QtWidgets import (
QApplication, QWidget, QVBoxLayout, QPushButton,
QLabel, QFileDialog, QMessageBox
)
from PyQt6.QtCore import Qt
class TxtCleaner (QWidget):
def __init__ (self):
super ().__init__ ()
self.setWindowTitle ("批量清空 TXT 内容")
self.setFixedSize (400, 180)
self._init_ui ()
def _init_ui (self):
layout = QVBoxLayout ()
layout.setSpacing (15)

self.folder_label = QLabel ("请选择包含 TXT 文件的文件夹")
self.folder_label.setAlignment (Qt.AlignmentFlag.AlignCenter)
layout.addWidget (self.folder_label)

choose_btn = QPushButton ("选择文件夹")
choose_btn.clicked.connect (self.choose_folder)
layout.addWidget (choose_btn)

clear_btn = QPushButton ("一键清空所有 TXT 内容")
clear_btn.clicked.connect (self.clear_txts)
clear_btn.setEnabled (False)
self.clear_btn = clear_btn
layout.addWidget (clear_btn)
self.setLayout (layout)
def choose_folder (self):
folder = QFileDialog.getExistingDirectory (self, "选择文件夹", os.getcwd ())
if folder:
self.folder_path = folder
self.folder_label.setText (f"当前文件夹:{folder}")
self.clear_btn.setEnabled (True)
def clear_txts (self):
txt_files = [
f for f in os.listdir (self.folder_path)
if os.path.isfile (os.path.join (self.folder_path, f)) and f.lower ().endswith (".txt")
]
count = 0
for name in txt_files:
path = os.path.join (self.folder_path, name)
try:

with open (path, "w", encoding="utf-8"):
pass
count += 1
except Exception as e:
print (f"清空失败:{path} -> {e}")
QMessageBox.information (
self, "操作完成",
f"共清空 {count} 个 TXT 文件的内容。"
)
if __name__ == "__main__":
app = QApplication (sys.argv)
window = TxtCleaner ()
window.show ()
sys.exit (app.exec ())

aipca   江苏省无锡市 发表于 2025-4-19 12:14:33
写到文件 (路径, {  })
BOR   河南省信阳市 发表于 2025-4-19 12:11:05

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表