无法在conda中保存以“=”结尾的环境变量

2024-06-06 04:08:44 发布

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

我正在访问Coinbase PRO API,它需要三样东西,API公钥、API密码和API密码。我能够成功地保存密钥和密码,因为它们只是带有字母字符的字符串。然而,API的秘密是这样的:“UOAHDSGAOGDSO==” 似乎末尾的等号阻止了系统识别变量

在python中,我使用以下命令打印每个环境变量(用上面的每个参数替换key): print(os.getenv('key'))

当我运行上述程序时,我可以成功打印公钥和密码,但当我尝试打印API密码时,它会给我一个空字符串。有没有想过为什么它不会保存包含==的字符串

Here is a visual representation of the issue

另外,我使用的是Ubuntu,windows的linux子系统


Tags: key字符串命令api密码系统字母密钥
1条回答
网友
1楼 · 发布于 2024-06-06 04:08:44

就环境变量而言,字符串==没有什么特别之处。ASCII等号字符与任何其他可打印字符没有区别;e、 例如,ASCII字母u。你可以通过一个简单的实验看出这是正确的:

$ bash
==== Hello from .bashrc ====
bash-5.0$ export KEY=abc=
bash-5.0$ env | grep KEY
KEY=abc=
bash-5.0$ bash -c 'echo "|$KEY|"'
|abc=|
bash-5.0$

但是,尾部等号字符在特定上下文中是特殊的,例如可打印的base64编码RSA密钥,它们用于填充以确保有效的base64字符串。例如,见Why does a base64 encoded string have an = sign at the end

另外,您所说的“conda”是指用于基于Python的数值分析的Anaconda平台吗?如果是的话,我对你的问题感到困惑。使用Anaconda运行Python程序对环境变量的行为绝对没有影响

相关问题 更多 >