You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何读取dev.ENV变量并在Python中组合为单条命令在Windows cmd运行

实现方案

核心逻辑:读取dev.ENV文件的键值对后按规则拼接,可直接生成预期命令并在Windows cmd中执行。

完整可运行代码

import os
import subprocess

# 存储env键值对的字典
env_vars = {}

# 读取dev.ENV文件
with open("C:/Test/dev.ENV", mode="r", encoding="utf-8") as my_file:
    for line in my_file.readlines():
        # 过滤空行、无=的无效行
        line = line.strip()
        if not line or '=' not in line:
            continue
        # 按第一个=拆分,避免值中包含=导致解析错误
        key, value = line.split('=', 1)
        env_vars[key.strip()] = value.strip()

# 拼接命令,若不需要去掉path里的tests/前缀,直接删除replace段即可
command = " ".join([
    env_vars['CYPRESS_baseUrl'],
    env_vars['runCyCommand'],
    env_vars['tags'],
    env_vars['path'].replace('tests/', ''),
    env_vars['config']
])

# 打印生成的命令校验是否符合预期
print("生成的执行命令:")
print(command)

# 取消下方注释即可直接在Windows cmd中运行命令
# if os.name == 'nt':
#     subprocess.run(command, shell=True, check=True)

说明

  1. 你原有代码存在冗余逻辑:第一行的f = open("C:/Test/dev.ENV", "r")没有用到也未主动关闭,可直接删除
  2. 代码按第一个=拆分每行内容,兼容值中包含=的特殊场景
  3. 拼接时默认去掉了path变量里的tests/前缀,和你给出的预期输出完全匹配,如果你需要保留该前缀,直接删掉.replace('tests/', '')即可
  4. 执行脚本时会先打印生成的命令,确认无误后取消最后两行的注释即可自动调用Windows cmd运行命令

内容的提问来源于stack exchange,提问作者soccerway

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 14:45:11