ich eine Python-Anwendung auf Datei, die eine SQL-Datei ausgibt:„Backspace“ über letzte Zeichen geschrieben
sql_string = "('" + name + "', " + age + "'),"
output_files['sql'].write(os.linesep + sql_string)
output_files['sql'].flush()
Dies ist nicht in einer for
Schleife getan, geschrieben werden als Daten verfügbar wird. Gibt es eine Möglichkeit, das letzte Kommazeichen zurückzusetzen, wenn die Anwendung ausgeführt wird, und es durch ein Semikolon zu ersetzen? Ich bin mir sicher, dass ich eine Workaround erfinden könnte, indem ich das Komma vor dem Zeilenumbruch ausgeben und ein globales Bool verwenden würde, um festzustellen, ob ein bestimmter "Schreibvorgang" der erste Schreibvorgang ist. Ich denke jedoch, dass die Anwendung viel sauberer wäre, wenn ich einfach darüber "zurückgehen" könnte. Natürlich, Python zu sein, gibt es vielleicht einen einfacheren Weg!
Beachten Sie, dass es nicht eine praktikable Lösung in diesem Anwendungsfall ist, jede insert
Wertzeile in einer Liste zu haben und dann die Liste zu implodieren.
Sie wollen nicht wirklich dorthin gehen; Sie würden Ihre Ausgabedatei lieber sehr allgemein halten, so dass es eine Pipe, Named Pipe, ein Objekt, das eine TCP-Verbindung oder ein HTTP-Post-Feld usw. darstellt, haben könnte. Einige davon haben Nebenwirkungen und Sie können das letzte Zeichen nicht zurücknehmen . –
@qarma: Danke. In dem speziellen Fall, in dem meine "Ausgabedatei" nicht generisch ist, sondern eine Textdatei, wie ich sie beschrieben habe, gibt es irgendwelche "Nebenwirkungen", vor denen ich mich hüten sollte? Beachten Sie, dass dies auf einem von Debian abgeleiteten Betriebssystem ausgeführt wird. Außerdem bin ich nicht sicher, warum ich meine Ausgabedatei lieber sehr allgemein halten würde, vielleicht könnten Sie das erklären? – dotancohen