pychram写,一个有对话框窗口的文件夹目录下所有文件夹和文件的名称关键字替换软件
时间: 2023-12-03 13:47:03 浏览: 121
以下是一个基于 PyQt5 的文件夹目录下文件名称关键字替换软件示例代码,您可以根据自己的需求进行修改和优化。
```python
import os
from PyQt5.QtWidgets import QApplication, QWidget, QFileDialog, QPushButton, QLabel, QLineEdit, QMessageBox
class FileRenamer(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 400, 300)
self.setWindowTitle('File Renamer')
# 标签和按钮组件
self.label1 = QLabel('文件夹路径:', self)
self.label1.move(20, 20)
self.path_edit = QLineEdit(self)
self.path_edit.setGeometry(120, 20, 200, 20)
self.browse_button = QPushButton('浏览', self)
self.browse_button.setGeometry(320, 20, 50, 20)
self.browse_button.clicked.connect(self.browse_folder)
self.label2 = QLabel('关键字:', self)
self.label2.move(20, 60)
self.keyword_edit = QLineEdit(self)
self.keyword_edit.setGeometry(120, 60, 200, 20)
self.label3 = QLabel('替换为:', self)
self.label3.move(20, 100)
self.replace_edit = QLineEdit(self)
self.replace_edit.setGeometry(120, 100, 200, 20)
self.rename_button = QPushButton('替换', self)
self.rename_button.setGeometry(20, 140, 100, 30)
self.rename_button.clicked.connect(self.rename_files)
self.quit_button = QPushButton('退出', self)
self.quit_button.setGeometry(120, 140, 100, 30)
self.quit_button.clicked.connect(self.close)
def browse_folder(self):
folder_path = QFileDialog.getExistingDirectory(self, 'Select Folder')
if folder_path:
self.path_edit.setText(folder_path)
def rename_files(self):
folder_path = self.path_edit.text()
keyword = self.keyword_edit.text()
replacement = self.replace_edit.text()
if not os.path.exists(folder_path):
QMessageBox.warning(self, '警告', '文件夹路径不存在!')
return
if not keyword:
QMessageBox.warning(self, '警告', '关键字不能为空!')
return
count = 0
for root, dirs, files in os.walk(folder_path):
for file in files:
if keyword in file:
old_path = os.path.join(root, file)
new_file = file.replace(keyword, replacement)
new_path = os.path.join(root, new_file)
os.rename(old_path, new_path)
count += 1
QMessageBox.information(self, '提示', f'已替换 {count} 个文件!')
if __name__ == '__main__':
app = QApplication([])
renamer = FileRenamer()
renamer.show()
app.exec_()
```
该代码实现了一个有对话框窗口的文件夹目录下所有文件夹和文件的名称关键字替换软件,用户可以在界面中选择目标文件夹并输入要替换的关键字和替换为的文本,然后点击“替换”按钮进行批量替换。
阅读全文