LingxinMeng 6 месяцев назад
Родитель
Сommit
4809cc78cf
1 измененных файлов с 9 добавлено и 8 удалено
  1. 9 8
      src/python2/pjibot/merge-pjibot_guide.py

+ 9 - 8
src/python2/pjibot/merge-pjibot_guide.py

@@ -78,20 +78,21 @@ def merge(local_bags, merged_prefix, local_merged_dir, merged_bag_name):
         # 记录命令
         logging.info("调用命令轨迹图片生成命令: %s" % ' '.join(command1))
 
-        # 使用 subprocess.run 来执行命令,并捕获输出和错误
-        result = subprocess.run(command1, capture_output=True, text=True)
+        # 使用 subprocess.Popen 来执行命令,并捕获输出和错误
+        process = subprocess.Popen(command1, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+        stdout, stderr = process.communicate()
 
         # 记录命令的标准输出
-        if result.stdout:
-            logging.info("命令输出: %s" % result.stdout.strip())
+        if stdout:
+            logging.info("命令输出:\n%s" % stdout.strip())
 
         # 记录命令的标准错误输出
-        if result.stderr:
-            logging.error("命令错误: %s" % result.stderr.strip())
+        if stderr:
+            logging.error("命令错误:\n%s" % stderr.strip())
 
         # 检查命令的返回码
-        if result.returncode != 0:
-            logging.error("命令执行失败,返回码: %d" % result.returncode)
+        if process.returncode != 0:
+            logging.error("命令执行失败,返回码: %d" % process.returncode)
         else:
             logging.info("命令执行成功")
         jpg_key = parse_prefix + 'track.png'