用python的os.system运行命令行程序报出错码256 10

我在Python的IDLE里面用os.system函数运行某个命令行程序,但无法得到正确输出,且报错误代码256,好像是说Operationnotpermitted(没有... 我在Python的IDLE里面用os.system函数运行某个命令行程序,但无法得到正确输出,且报错误代码256, 好像是说Operation not permitted(没有操作权限)。但这些命令行程序在终端里运行时没有一点问题。请问这是为什么呢?有何解决办法呢?谢谢!

在如下的测试中,oconv是一个命令行程序,它的路径已经定义在~/.profile文件里(本人使用Macbook Pro, OS X).

Python代码运行过程以及错误信息是:
>>> cmd = 'oconv /Users/oat/materials.mat /Users/oat/sky.rad /Users/oat/scene.rad > /Users/oat/scene.oct'
>>> cmd
'oconv /Users/oat/materials.mat /Users/oat/sky.rad /Users/oat/scene.rad > /Users/oat/scene.oct'
>>> os.system(cmd)
256
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏10(财富值+成长值)
hazhashua
2014-10-29 · 超过16用户采纳过TA的回答
知道答主
回答量:87
采纳率:0%
帮助的人:46.9万
展开全部
cmd 字符串最前面加 sudo 试试。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lireach
推荐于2018-03-22 · TA获得超过614个赞
知道小有建树答主
回答量:208
采纳率:50%
帮助的人:116万
展开全部
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
用这试试
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
赢西已苦子真1x
2014-10-28 · TA获得超过754个赞
知道小有建树答主
回答量:334
采纳率:77%
帮助的人:298万
展开全部
从python语句上看,是没有问题的,你这条cmd单独执行下看看.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chaoningwang
2014-10-28 · TA获得超过682个赞
知道小有建树答主
回答量:806
采纳率:83%
帮助的人:891万
展开全部
给你的脚本文件赋予最大权限试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式