В моем предыдущем вопросе Откройте файл из определенной программы из python , я узнал, как использовать подпроцесс для открытия программы (Blender) - ну, конкретный .blend
файл - из указанного пути к файлу с этим кодом.
import os
import subprocess
path = os.getcwd()
os.system("cd path/")
subprocess.check_call(["open", "-a", os.path.join(path, "blender.app"),"Import_mhx.blend"])
С помощью с помощью парня на форуме я хотел использовать относительные пути внутри файла .blend
, поэтому я изменил код таким образом (для Windows)
import os
import subprocess
# This should be the full path to your Blender executable.
blenderPath = "/cygdrive/c/Program Files/Blender Foundation/blender-2.62-release-windows32/blender.exe"
# This is the directory that you want to be your "current" directory when Blender starts
path1 = "/Users/user/Desktop/scenario/Blender"
# This makes makes it so your script is currently based at "path1"
os.chdir(path1)
subprocess.check_call([blenderPath, "Import_mhx.blend"])
и для Mac
import os
import subprocess
path = os.getcwd()
os.system("cd path/")
print (path)
# This should be the full path to your Blender executable.
blenderPath = path + "/blender.app/Contents/macos/blender"
# This is the directory that you want to be your "current" directory when Blender starts
path1 = "/Users/user/Desktop/scenario/Blender"
# This makes makes it so your script is currently based at "path1"
os.chdir(path1)
subprocess.check_call([blenderPath, "Import_mhx.blend"])
Результаты:
- В Windows работает нормально.
- В Mac, в результате файл открывается, но программа, похоже, не открывается. Я думаю, это довольно странно.
Вопросы:
- Есть ли какое-либо расширение, которое я должен разместить для блендера (исполняемый файл UNIX), чтобы он мог открыться?
- Есть ли другой способ, которым я могу сделать это для правильного открытия программы, но также для возможности использования относительных путей внутри
.blend
файлов?