最近遇到了一个问题,就是python代码调用shell脚本时,发现输入输出的文件,总是和自己预想的有偏差,但是单独在linux下执行命令的时候,却没有错误。后来发现是相对路径的问题,因为执行python文件的时候,会有一个工作目录,而执行shell脚本的时候,又会有一个工作目录,这样就很容易混淆。最好的办法:在执行shell脚本时,将目录切换到shell脚本下:

cmd = '/home/usr/asdasd/'

os.system(cmd)

这样问题就解决了。