ich habs geschafft und es funktioniert
ich poste den code mal hier, dann hat man quasi eine ende zu ende betrachtung wie sich alles entwickelt hat, wenn das ok ist für euch.
PyQt4 habe ich benutzt, zum ausprobieren braucht ihr glaube ich den inhalt folgender beiden dateien.
das programm habe ich rename_programm.py genannt:
Code: Alles auswählen
import os, glob, sys
from PyQt4 import QtGui, QtCore
from rename import Ui_Hauptdialog as Dlg
class MeinDialog(QtGui.QDialog, Dlg):
def __init__(self):
QtGui.QDialog.__init__(self)
self.setupUi(self)
# Slots einrichten
self.connect(self.Eingabe,
QtCore.SIGNAL("clicked()"), self.onEingabe)
self.connect(self.Los,
QtCore.SIGNAL("clicked()"), self.onLos)
self.connect(self.Loeschen,
QtCore.SIGNAL("clicked()"), self.onLoeschen)
self.connect(self.Ende,
QtCore.SIGNAL("clicked()"), self.onEnde)
def onEingabe(self):
# Daten auslesen
d = {}
p = unicode(self.pfad.text())
#self.ausgabe.append(p)
if not os.path.exists(p):
self.ausgabe.append("Das Verzeichnis '%s' existiert nicht." % p)
alt = unicode(self.alt.text())
global names
names = glob.glob(os.path.join(p, "*." + alt))
self.ausgabe.append("Folgende Dateien wurden gefunden:")
self.ausgabe.append("-----------------------------------------------")
self.ausgabe.append("\n".join(names))
self.ausgabe.append("-----------------------------------------------")
def onLoeschen(self):
self.pfad.clear()
self.alt.clear()
self.neu.clear()
def onLos(self):
#self.ausgabe.append("Es geht Los!")
neu = unicode(self.neu.text())
for x in names:
os.rename(x, os.path.splitext(x)[0]+'.'+neu)
self.ausgabe.append("-----------------------------------------------")
self.ausgabe.append("%d Dateien wurden umbenannt." % len(names))
def onEnde(self):
self.close()
app = QtGui.QApplication(sys.argv)
dialog = MeinDialog()
dialog.show()
sys.exit(app.exec_())
und hier der inhalt der rename.py datei:
Code: Alles auswählen
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'C:\Users\Schmidt\Desktop\Python\GUI\QT\rename.ui'
#
# Created: Fri Jan 20 13:07:15 2012
# by: PyQt4 UI code generator 4.9
#
# WARNING! All changes made in this file will be lost!
from PyQt4 import QtCore, QtGui
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
_fromUtf8 = lambda s: s
class Ui_Hauptdialog(object):
def setupUi(self, Hauptdialog):
Hauptdialog.setObjectName(_fromUtf8("Hauptdialog"))
Hauptdialog.resize(500, 649)
self.groupBox = QtGui.QGroupBox(Hauptdialog)
self.groupBox.setGeometry(QtCore.QRect(50, 30, 401, 271))
self.groupBox.setObjectName(_fromUtf8("groupBox"))
self.Eingabe = QtGui.QPushButton(self.groupBox)
self.Eingabe.setGeometry(QtCore.QRect(150, 210, 93, 28))
self.Eingabe.setObjectName(_fromUtf8("Eingabe"))
self.Los = QtGui.QPushButton(self.groupBox)
self.Los.setGeometry(QtCore.QRect(270, 210, 93, 28))
self.Los.setObjectName(_fromUtf8("Los"))
self.Loeschen = QtGui.QPushButton(self.groupBox)
self.Loeschen.setGeometry(QtCore.QRect(150, 150, 211, 28))
self.Loeschen.setObjectName(_fromUtf8("Loeschen"))
self.widget = QtGui.QWidget(self.groupBox)
self.widget.setGeometry(QtCore.QRect(70, 30, 291, 121))
self.widget.setObjectName(_fromUtf8("widget"))
self.gridLayout = QtGui.QGridLayout(self.widget)
self.gridLayout.setMargin(0)
self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
self.label = QtGui.QLabel(self.widget)
self.label.setObjectName(_fromUtf8("label"))
self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
self.pfad = QtGui.QLineEdit(self.widget)
self.pfad.setObjectName(_fromUtf8("pfad"))
self.gridLayout.addWidget(self.pfad, 0, 1, 1, 1)
self.label_2 = QtGui.QLabel(self.widget)
self.label_2.setObjectName(_fromUtf8("label_2"))
self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
self.alt = QtGui.QLineEdit(self.widget)
self.alt.setObjectName(_fromUtf8("alt"))
self.gridLayout.addWidget(self.alt, 1, 1, 1, 1)
self.label_3 = QtGui.QLabel(self.widget)
self.label_3.setObjectName(_fromUtf8("label_3"))
self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
self.neu = QtGui.QLineEdit(self.widget)
self.neu.setObjectName(_fromUtf8("neu"))
self.gridLayout.addWidget(self.neu, 2, 1, 1, 1)
self.ausgabe = QtGui.QTextEdit(Hauptdialog)
self.ausgabe.setGeometry(QtCore.QRect(50, 320, 401, 251))
self.ausgabe.setObjectName(_fromUtf8("ausgabe"))
self.Ende = QtGui.QPushButton(Hauptdialog)
self.Ende.setGeometry(QtCore.QRect(360, 600, 93, 28))
self.Ende.setObjectName(_fromUtf8("Ende"))
self.retranslateUi(Hauptdialog)
QtCore.QMetaObject.connectSlotsByName(Hauptdialog)
def retranslateUi(self, Hauptdialog):
Hauptdialog.setWindowTitle(QtGui.QApplication.translate("Hauptdialog", "Dialog", None, QtGui.QApplication.UnicodeUTF8))
self.groupBox.setTitle(QtGui.QApplication.translate("Hauptdialog", "Angaben", None, QtGui.QApplication.UnicodeUTF8))
self.Eingabe.setText(QtGui.QApplication.translate("Hauptdialog", "Übernehmen", None, QtGui.QApplication.UnicodeUTF8))
self.Los.setText(QtGui.QApplication.translate("Hauptdialog", "Umbenennen", None, QtGui.QApplication.UnicodeUTF8))
self.Loeschen.setText(QtGui.QApplication.translate("Hauptdialog", "Eingabefelder löschen", None, QtGui.QApplication.UnicodeUTF8))
self.label.setText(QtGui.QApplication.translate("Hauptdialog", "Pfad:", None, QtGui.QApplication.UnicodeUTF8))
self.label_2.setText(QtGui.QApplication.translate("Hauptdialog", "Endung alt:", None, QtGui.QApplication.UnicodeUTF8))
self.label_3.setText(QtGui.QApplication.translate("Hauptdialog", "Endung neu:", None, QtGui.QApplication.UnicodeUTF8))
self.Ende.setText(QtGui.QApplication.translate("Hauptdialog", "Beenden", None, QtGui.QApplication.UnicodeUTF8))