Python inserting variable string als Dateiname

Ich versuche, eine Datei-Datei einen eindeutigen Dateinamen zu erstellen, jedes Mal, wenn mein Skript läuft, ist es nur beabsichtigt, wöchentlich oder monatlich zu sein. So entschied ich mich, das Datum für den Dateinamen zu verwenden.

f = open('%s.csv', 'wb') %name 

Ist, wo ich diesen Fehler bekomme.

 Traceback (most recent call last): File "C:\Users\User\workspace\new3\stjohnsinvoices\BabblevoiceInvoiceswpath.py", line 143, in <module> f = open('%s.csv', 'ab') %name TypeError: unsupported operand type(s) for %: 'file' and 'str' 

Es funktioniert, wenn ich einen statischen Dateinamen verwende, gibt es ein Problem mit der offenen Funktion, das heißt, du kannst nicht so einen String passieren?

Name ist ein String und hat Werte wie:

 31/1/2013BVI 

Vielen Dank für jede Hilfe

3 Solutions collect form web for “Python inserting variable string als Dateiname”

Sie müssen % name direkt nach dem String setzen:

 f = open('%s.csv' % name, 'wb') 

Der Grund, warum Ihr Code nicht funktioniert, ist, weil Sie versuchen, % eine Datei, die nicht String Formatierung ist, und ist auch ungültig.

Du kannst so etwas machen

 filename = "%s.csv" % name f = open(filename , 'wb') 

Oder f = open('%s.csv' % name, 'wb')

Und mit der neuen String-Formatierungsmethode …

 f = open('{0}.csv'.format(name), 'wb') 
  • Spektrogramm einer Wave-Datei
  • Wie man wartet, bis eine Dropdown-Liste verarbeitet wird, bevor sie zum nächsten geht?
  • Holen Sie viele URLs in Python mit Google App Engine
  • ImportError: Kein Modul namens Paket
  • Python: requests.get, iterating url in einer Schleife
  • Wie finde ich die nächsten 7 Uhr in einer Zeitzone [duplizieren]
  • Python nicht ausgeführt und Code wird wörtlich auf der Seite angezeigt
  • Python MemoryError beim Anpassen mit Scikit-Learn
  • Python fügen führende Nullen mit str.format [duplicate]
  • Rückgabe von Zeilen in einem Datenfeld, das einer benutzerdefinierten Nummer am nächsten liegt
  • Python in server gebaut nicht laden css
  • Python ist die beste Programmiersprache der Welt.