从python打开特定程序的文件

时间:2012-03-23 23:21:54

标签: python macos blender

我想做一件非常简单的事,但我很遗憾。

我正在使用一个名为Blender的程序,我想在python中编写一个脚本,打开一个.blend文件,但是使用blender.app,它与mix文件位于同一个文件夹中,而不是blender.app位于应用程序中。 (使用Macosx)

所以我认为这应该可以做到......但是它会打开搅拌机两次......

import os

path = os.getcwd()
print(path)
os.system("cd path/")
os.system("open blender.app Import_mhx.blend")

我也试过这个

import os

path = os.getcwd()
print(path)
os.system("cd path/")
os.system("open Import_mhx.blend")

但不幸的是,它使用默认的blender.app打开.blend文件,该文件位于应用程序...

任何想法?

2 个答案:

答案 0 :(得分:3)

这不起作用,因为system命令在子shell中执行,而chdir仅对该子shell有效。用

替换命令
os.system("open -a path/blender.app Import_mhx.blend")

或(更好)

subprocess.check_call(["open", "-a", os.path.join(path, "blender.app"),
                       "Import_mhx.blend"])

答案 1 :(得分:1)

您是否尝试过告诉open命令以特定应用程序打开它?

open -a /path/to/blender.app /path/to/Import_mhx.blend

你的第一次尝试是在正确的轨道上,但你真的告诉open打开两个不同的东西。与另一个没有。