os.rename erweiterung

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Pascal
User
Beiträge: 271
Registriert: Samstag 4. April 2009, 22:18

Hallo,

ich bin gerade dabei meine Musikdateien zu arbeiten.
die Titel sind nach folgendem Schema benannt:
youtube - interpret - titelname

ich habe bereits ein kleines Programm, mit denen ich das 'youtube' aus dem Titel entfernen kann. Dabei ist die os.rename - methode ganz praktisch.
Das ganze mit dem rename würde ich jetzt gerne auf Interpret übertragen. Dazu will ich das ganze zwischen den beiden '-' auslesen und dann das ganze bei "Interpret:" eintragen. (Das Feld von "Interpret: " ist übrigens leer)
Mein Problem ist: Wie kann ich den Interpret ändern?


Hoffe ich konnte mein Problem richtig schildern...
Vielen Dank
Pascal
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Code: Alles auswählen

>>> _, interpret, titel = map(str.strip, "youtube - interpret - titel".split("-"))
>>> neuer_name = "%s von %s" % (interpret, titel)
>>> neuer_name
'interpret von titel'
?

Es existieren aber auch Interpreten und Titel welche ein Bindestrich im Namen haben.
Das Leben ist wie ein Tennisball.
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Pascal hat geschrieben:und dann das ganze bei "Interpret:" eintragen.
Wenn du damit ID3-Tags (oder sonstwelche Tags) meinst, empfehle ich dir mutagen.
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Pascal
User
Beiträge: 271
Registriert: Samstag 4. April 2009, 22:18

Das mit dem Auslesen des Interpretens zwischen den '-' ist/war nicht das Problem
Pascal hat geschrieben: Mein Problem ist: Wie kann ich den Interpret ändern?
Und da scheitern ich (erneut) daran Mutagen zu installieren.
Es ist nicht das erste Modul, dass ich mir runterlade, aber hierbei scheitre ich irgendwie...




Wie soll ich das denn jetzt machen mit dem Installieren??
Steh grad völlig auf der Leitung :roll:
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Pascal hat geschrieben:Wie soll ich das denn jetzt machen mit dem Installieren??
Steh grad völlig auf der Leitung :roll:
`easy_install mutagen``. Oder eben über das Paketmanagement deines Systemes, sofern es dort Mutagen als Paket gibt.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

@EyDu:

Warum an der Stelle ein Dummy-Objekt? Geht doch auch so:

Code: Alles auswählen

In [4]: import string

In [5]: filename = 'youtube - interpret - titel'

In [6]: interpret, titel = map(string.strip, filename.split('-'))[1:3]

In [7]: print titel, 'von', interpret
titel von interpret
Was aber natürlich nicht das Problem zusätzlicher Bindestriche löst.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Weil es zwei Zeichen spart :)
Das Leben ist wie ein Tennisball.
BlackJack

@snafu: Die Funktionen aus dem `string`-Modul, die es auch als Methoden auf Zeichenketten gibt, sind "deprecated". Ab Python 3.0 gibt's die auch nicht mehr.
Antworten