2016-04-11 9 views
0

Ich bin relativ neu in Python und müssen ein Python-Makro durch Abaqus ausführen. Ich öffne Dateien z. B. "Nonsym1, Nonsym2, Nonsym3". Ich versuche das mit einer Schleife zu machen. Der Code öffnet nonsym1 (in abaqus) und führt einige Operationen darauf aus, dann soll er zurückgeschleift werden und dasselbe mit den anderen Dateien machen. Hier ist der Code Ich versuche ...For Schleife zum Öffnen von Dateien in Python

for i in range (1,10): 
    filename = 'nonsym(i)' 
    step = mdb.openStep(
     'C:/Users/12345678/Documents/Inventor/Aortic Dissection/%s.stp' %filename, 
     scaleFromFile=OFF) 

Mein Hauptproblem ist aus der Tatsache kommt, dass das% s im Verzeichnis ich denke? ... error message when trying to run this macro Sie wissen nicht, wie dies am besten nähern , also jede Hilfe wäre großartig, danke! Ich lerne immernoch!

+0

Können Sie den Fehler in die Frage anstelle eines Links einfügen? –

+1

Ersetzen Sie "i" in "nonsym (i)" durch eine tatsächliche Zahl? Haben Sie versucht, den Dateinamen auszudrucken und zu prüfen, ob die Datei mit diesem Namen wirklich existiert? – hgazibara

Antwort

1

Anstatt filename = nonsym1-2-3 -... zu verwenden, benennen Sie die Schrittdateien als Ganzzahlen 1.stp, 2.stp, 3.stp und wandeln dann ganze Zahlen in die Zeichenfolgenwerte mit% str (i) um. ... Und verwenden Sie den Code unten:

for i in range (1,10): 

    step = mdb.openStep(
     'C:/Users/12345678/Documents/Inventor/Aortic Dissection/%s.stp' %str(i), scaleFromFile=OFF) 

Um die gleiche Menge von ODB Dateien zu erhalten, ändern, wie dieser Code der Job-Codezeile als similiar.

+0

benutze einfach '% i' und du brauchst nicht einmal' str() ' – agentp