2012-03-23 7 views
3

私は非常に簡単なことをしたいと思いますが、私はかなり失われています。特定のプログラムのファイルをPythonから開きます

私はBlenderと呼ばれるプログラムを使用しています。私はblenderファイルを開いてblender.appを使用しますが、blender.appではなく、同じフォルダ内にあるblender.appを使用してスクリプトを書きますアプリケーションに配置されています。

import os 

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

私も試してみました。この1

import os 

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

けど...私はこれが仕事をするべきであると考えていた...しかし、その代わり、それはブレンダーは二回開くので

(MacOSXのを使用して)残念ながら、アプリケーションにあるデフォルトのblender.appを持つ.blendファイルを開きます。

何か考えですか?

+0

(はるか)

os.system("open -a path/blender.app Import_mhx.blend") 

かでコマンドを交換し、これはタイプミスでしょうか? –

+0

@agfまあ、これで試しましたが、まだ2つのブレンダーを開きます。 –

答えて

3

systemコマンドがサブシェルで実行され、chdirがそのサブシェルでのみ有効であるため、これは機能しません。あなたが実際に現在のディレクトリ内の `PATH`というフォルダにcd'ingいる

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

サブプロセスfor ever!:) –

1

openコマンドに特定のアプリケーションで開くように伝えましたか?

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

あなたの最初の試みは、正しい軌道に乗っていたが、あなたは本当にちょうど2つの異なるものを開くためにopenを語りました。もう片方とは関係ありません。

+0

あなたが提案したことはうまくいかなかった...あなたは正しいです。それは2つの異なるものを開きますが、どちらも空です! –

+0

待って、私の答えがうまくいかないと言っていますか? – jdi

+0

まだ2つの異なるブレンダーを開く –

関連する問題