ich hoffe ich bin hier unter allgemeine Fragen mit meiner Frage richtig und hoffe ich benutze die Code-Funktion hier richtig. Falls nicht bitte etwas Nachsicht, da das hier mein erster Post ist.

Ich möchte mit Hilfe von Python ein Programm (OpenSCAD, ohne GUI) öffnen, welches dann eine Datei einliest (.csg) und diese in .stl konvertiert. Das funktioniert bei mir soweit auch alles, allerdings lese ich zur Zeit eine Batch-Datei über das os-Modul ein.
Code: Alles auswählen
@echo off
cd C:\Program Files\OpenSCAD
openscad -o C:\Users\micha\Desktop\LCM\K12306_STIWA_OpenSCAD\test.stl C:\Users\micha\Desktop\LCM\K12306_STIWA_OpenSCAD\test.csg
Code: Alles auswählen
os.system(r'C:\Users\micha\Desktop\LCM\K12306_STIWA_OpenSCAD\OpenSCAD.bat')
Code: Alles auswählen
subprocess.Popen([r'C:\Program Files\OpenSCAD\openscad', '-o'], stdout=subprocess.PIPE)
Meine Versuche, die nicht funktionieren:
Code: Alles auswählen
subprocess.Popen([r'C:\Program Files\OpenSCAD\openscad', '-o', 'C:\Users\micha\Desktop\LCM\K12306_STIWA_OpenSCAD\test.stl C:\Users\micha\Desktop\LCM\K12306_STIWA_OpenSCAD\test.csg'], stdout=subprocess.PIPE)
Code: Alles auswählen
#subprocess.Popen([r'C:\Program Files\OpenSCAD\openscad', '-o C:\Users\micha\Desktop\LCM\K12306_STIWA_OpenSCAD\test.stl C:\Users\micha\Desktop\LCM\K12306_STIWA_OpenSCAD\test.csg'], stdout=subprocess.PIPE)
Code: Alles auswählen
runfile('C:/Users/micha/Desktop/LCM/K12306_STIWA_OpenSCAD/OpenSCAD_oeffnen.py', wdir='C:/Users/micha/Desktop/LCM/K12306_STIWA_OpenSCAD')
Traceback (most recent call last):
File "C:\Users\micha\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 3343, in run_code
self.showtraceback(running_compiled_code=True)
File "C:\Users\micha\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2026, in showtraceback
self.showsyntaxerror(filename, running_compiled_code)
File "C:\Users\micha\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2088, in showsyntaxerror
stb = self.SyntaxTB.structured_traceback(etype, value, elist)
File "C:\Users\micha\Anaconda3\lib\site-packages\IPython\core\ultratb.py", line 1420, in structured_traceback
newtext = linecache.getline(value.filename, value.lineno)
File "C:\Users\micha\Anaconda3\lib\linecache.py", line 16, in getline
lines = getlines(filename, module_globals)
File "C:\Users\micha\Anaconda3\lib\linecache.py", line 47, in getlines
return updatecache(filename, module_globals)
File "C:\Users\micha\Anaconda3\lib\linecache.py", line 137, in updatecache
lines = fp.readlines()
File "C:\Users\micha\Anaconda3\lib\codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd6 in position 264: invalid continuation byte

Liebe Grüße
Michi