Python代码上传文件至Audino报错API_KEY未识别,求修复方案
解决方法
错误原因是你用了Linux/macOS Shell的环境变量赋值语法(API_KEY=xxx python ...),但Windows CMD不支持这种写法,所以会把API_KEY识别成未知命令。
以下是两种可行的修改方案:
方案1:适配Windows CMD语法
直接用CMD的set命令临时设置环境变量,再执行Python脚本:
import os api_key = "3531edf1d74d4c748fba59ae31214273" user = "admin"#user nào được quyền đánh nhãn cho audio này audio_path = "C:/Users/COMPUTER/Videos/yt-dlp/test/audino/audio.wav" # 改用Windows CMD的set语法,用&&连接命令 cmd = f"set API_KEY={api_key} && python upload_data.py --username {user} --is_marked_for_review True --audio_file {audio_path} --host localhost --port 3000" os.system(cmd)
方案2:跨平台的更优写法(推荐)
用Python的os.environ先设置环境变量,再用subprocess模块执行命令(比os.system更安全,支持跨平台):
import os import subprocess api_key = "3531edf1d74d4c748fba59ae31214273" user = "admin"#user nào được quyền đánh nhãn cho audio này audio_path = "C:/Users/COMPUTER/Videos/yt-dlp/test/audino/audio.wav" # 全局设置环境变量,当前Python进程及其子进程都能读取 os.environ['API_KEY'] = api_key # 用列表形式传递命令参数,避免路径含空格等特殊字符的问题 cmd_args = [ "python", "upload_data.py", "--username", user, "--is_marked_for_review", "True", "--audio_file", audio_path, "--host", "localhost", "--port", "3000" ] # check=True会在命令执行失败时抛出异常,方便排查问题 subprocess.run(cmd_args, check=True)
内容的提问来源于stack exchange,提问作者Khổ Khắc
相关产品推荐
相关产品推荐

