在python脚本中找不到Shell命令

时间:2018-03-19 06:50:17

标签: python csh

我在我的python脚本中使用:os.system('/ bin / csh dotcshrc')获取一个dotcshrc文件并且它可以正常工作,但是当我想使用命令我刚刚通过source命令放入env时,像os.system('ikvalidate mycase'),linux投诉:找不到命令。 但是,当我手工完成所有事情时,一切顺利。 哪里有问题?

2 个答案:

答案 0 :(得分:1)

如果您在linux中有一个命令ls,并且您想在python代码中使用它,请执行以下操作:

import os
ls = lambda : os.system('ls')
# This effectively turns that command into a python function.
ls() # skadoosh!

输出是:

FileManip.py                          Oscar
MySafety                              PROJECT DOCS
GooSpace                              Pg Admin
l1_2014                               PlatformMavenRepo
l1_2015                               R
l1_201617                             R64
l2_2014                               Resources

答案 1 :(得分:0)

os.system在其自己的隔离环境中运行每个命令。如果您在os.system电话中寻找内容,后续电话将无法看到,因为它们是以新的shell环境开始的。如果你有如上所述的依赖关系,你可以将它组合成一个调用:

os.system(‘/bin/csh "dotcshrc; ikvalidate mycase"’)