|
@@ -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'
|