什么是Python的os.system()等同于cocoa / Objective-C?

时间:2011-03-10 17:33:25

标签: python objective-c cocoa shell command

我想在我的Mac程序中运行一些终端命令。 例如,我通常使用shell中的mate abc.txtpython abc.py来打开Text Mate或运行python脚本。

如何使用Cocoa / Objective-C做同样的事情?

我想过this method,但我更喜欢只跑一行。

例如,当用户输入“python abc.py”时,我只是运行命令,就像它在Terminal.app中一样。 Python的等效命令是os.system()

inputItem< - inputItem TextField

NSString* item = [inputItem stringValue];
[NSRuncommandLikeShell item]; <-- ????

应该保留环境变量,这样我就不需要运行'/ usr / bin / python'。

修改

我可以将~/.MacOSX/environment.plist文件用于设置路径环境。或者,我也可以使用this utility进行GUI。

2 个答案:

答案 0 :(得分:3)

您可以使用NSTask对象。如果您不喜欢此处的所有设置,您可以创建一个NSTask类别,为您完成此任务。

答案 1 :(得分:1)

您可以使用C运行时system()调用。

#include <stdlib.h>

system([item UTF8String]);