Hallo zusammen,
ich habe die Ehre, einen Python-Skript zur automatischen Speicherung von einer Versuchsreihe zu erstellen. Jeder Dateiname soll hierbei durch eine Laufnummer des Versuchs (z.B. i) gekennzeichnet werden. Der Speicheroperand lautet SaveRefCapture(a), wobei a ein string mit Dateinamenpfad ist.
Zum Einfügen der Versuchslaufnummer i in den Dateinamen a muss ich diese Nummer zum String konvertieren, damit ich einzelne Buchstaben des Dateinamens besetzten kann.
Unter Matlab würde das z.B. so aussehen:
suffix='.mat';
a='D:\\Ordner\Messung';
b=length(a)+1;
c=b+length(num2str(i))-1;
a (b:c)=num2str(i);
d=c+1;
e=d+length(suffix)-1;
a (d:e)=suffix;
save (a);
Also, suche ich nach einem Python-Pendant für num2str von Matlab.
Für Hinweise wäre ich sehr dankbar.
Mit freundlichem Gruß
Maxim
Python-Äquivalent zu num2str von Matlab gesucht
Code: Alles auswählen
num1 = int("2") # ganze Zahl
num2 = float("4.2e-23") # rationale Zahl
print num1 * num2
#umgekehrt geht das jeweils mit str
Zeichenkettenformatierung dürfte die naheliegendste Lösung sein.
Wobei man die formatierte Zahl rechts durch Nullen auffüllen sollte, dann werden die Dateien beim alphabetischen sortieren in der richtigen Reihenfolge aufgeführt:
Der Matlab-Quelltext dafür sieht aber mehr als umständlich aus!
Ansonsten sollte man als Anfänger das Tutorial aus der Dokumentation durcharbeiten und PEP8, den Style Guide, lesen. `SaveRefCapture` würde in Python nämlich üblicherweise `save_ref_capture` heissen.
Wobei man die formatierte Zahl rechts durch Nullen auffüllen sollte, dann werden die Dateien beim alphabetischen sortieren in der richtigen Reihenfolge aufgeführt:
Code: Alles auswählen
In [111]: r'D:\\Ordner\Messung%d.mat' % 42
Out[111]: 'D:\\\\Ordner\\Messung42.mat'
In [112]: r'D:\\Ordner\Messung%04d.mat' % 42
Out[112]: 'D:\\\\Ordner\\Messung0042.mat'
Ansonsten sollte man als Anfänger das Tutorial aus der Dokumentation durcharbeiten und PEP8, den Style Guide, lesen. `SaveRefCapture` würde in Python nämlich üblicherweise `save_ref_capture` heissen.