2017-06-14 5 views
0

Gerade jetzt OBJ-Dateien importieren, mein Code ist wie folgt:möchte ich im Mixer

import os 
import bpy 

path_to_objdir = os.path.join('C:\\','Users\vincent.martel\Documents\Data\full_mesh') 
file_list = sorted(os.listdir(path_to_objdir)) 
obj_list = [item for item in file_list if item.endswith('.obj')] 
for item in obj_list: 
    path_to_file = os.path.join(path_to_objdir, item) 
    bpy.ops.import_scene.obj(filepath = path_to_file, split_mode = "OFF") 

Wenn ich diesen Code ausführen, die Konsole einen Fehler ausgibt, und unterstreicht die Linie, wo ich meine file_list initialisieren aber nicht sagen alles andere (blender console nennt den Fehler nicht einmal).

Kann jemand eine Lösung finden?

Antwort

0

Drucken Sie den Wert Ihrer Variablen path_to_objdir aus und kopieren Sie sie in eine dir Anweisung an der Windows-Konsole. Funktioniert es? Wenn nicht, dann fixiere den Wert so, dass es funktioniert. Ich habe das System nicht so dass ich dies nicht überprüfen kann, aber das erste, was ich versuchen würde, ist

path_to_objdir = os.path.join('C:','Users','vincent.martel','Documents','Data','full_mesh') 
+0

Das ist das, was ich den genauen Pfad in meiner Forschung Ordnern kopiert –

+0

Nun, wenn du es getan hast, es funktioniert nicht innerhalb einer Python-Zeichenkette, weil (zum Beispiel) 'Data \ full_mesh' nicht bedeutet, was Sie eingefügt haben, sondern' Data ull_mesh'. Das liegt daran, dass '\ f' in einer Pyton-Zeichenfolge eine besondere Bedeutung hat. Ich brauche wohl nicht zu erklären, dass man in einem Windows-Dateinamen kein Formfeed-Zeichen haben kann. Verwenden Sie entweder 'os.path.join', wie in der Antwort gezeigt, oder verwenden Sie eine rohe Zeichenfolge, wenn Sie einen vollständigen Windows-Pfad in ein Python-String-Literal einfügen möchten: r'Users \ vincent.martel \ Documents \ Data \ full_mesh ' – BoarGules

+0

Es ist alles in Ordnung, es hat funktioniert, danke :) –