通过python调用bash命令

2024-03-29 08:56:19 发布

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

我在bash中有一个命令:

fslstats /Users/Downloads/ALLSITES/3dROIMaker/network3*_GM.nii.gz -l 1.5 -u 2.5 -V | cut -d ' ' -f 1

输出:755

如果我现在在python中尝试运行相同的命令:

 for qq in range (0, 5, 1): 
      lo = glob.glob(path2 + "IM" + path1 + "*_GM.nii.gz")  
      lo = ' '.join(lo)
      lower = qq - 0.5
      upper = qq + 0.5
      subprocess.check_output(['fslstats {} -l lower -u upper -V | cut -d ' ' -f 1'.format(lo)], shell=True)

我得到这个错误: 返回非零退出状态1)

为什么会这样?你知道吗


Tags: 命令bashlodownloadsupperlowerusersglob
1条回答
网友
1楼 · 发布于 2024-03-29 08:56:19

将分隔符周围的单引号替换为双引号: 'fslstats {} -l lower -u upper -V | cut -d " " -f 1' 这样您就不会在命令结束前终止字符串

相关问题 更多 >