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
-
BlackJack
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.
