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