在Python中调试外部系统命令

2024-09-30 16:39:15 发布

您现在位置:Python中文网/ 问答频道 /正文

#!/usr/bin/python



def copyPatchTempToPatchStage(destinationLoction):

 command='/usr/bin/python '+destinationLoction+'/PatchGen.py '
 print command
 executeCommand(command)




def executeCommand(command):

 p_output=subprocess.Popen(command, stdout=subprocess.PIPE, shell=True)
 p_output.communicate()
 p_output.wait()


if __name__ == '__main__':

 destinationLoction="/scratch/app/product/fmw/obpinstall/patching/patchGenerationPath/2015-12-28/T14_OPATCH/100005135/PATCH_TEMP"
 copyPatchTempToPatchStage(destinationLoction)

现在,在删除python文件的bug时,它不会进入PatchGen.py

有没有办法调试系统命令


Tags: pyoutputbinusrdefstdoutcommandsubprocess
1条回答
网友
1楼 · 发布于 2024-09-30 16:39:15

不,无法调试系统命令

如果您编写p_output=subprocess.Popen(command, stdout=subprocess.PIPE, shell=True)Python不知道正在运行什么,那么它可能是任何东西,而不仅仅是Python脚本

您需要的是import从当前文件运行该模块的main函数。这将允许您查看调试信息

相关问题 更多 >