Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Anaconda激活批处理文件字符转义与windows命令行不同_Python_Windows_Anaconda - Fatal编程技术网

Python Anaconda激活批处理文件字符转义与windows命令行不同

Python Anaconda激活批处理文件字符转义与windows命令行不同,python,windows,anaconda,Python,Windows,Anaconda,我正在尝试在windows上的anaconda环境的激活文件中设置密钥。密钥包含需要转义的特殊字符,例如%和^。假设密钥文本是foobar%foo^bar%foo。在命令行上,我可以运行: SET SECRET_KEY=foobar^%foo^^^^bar^%foo ECHO %SECRET_KEY% 它返回foobar%foo^bar%foo 但是,在\etc\activate.d\env_vars.bat中,如前所述,我有相同的行设置SECRET_KEY=foobar^%foo^^^^^^

我正在尝试在windows上的anaconda环境的激活文件中设置密钥。密钥包含需要转义的特殊字符,例如%和^。假设密钥文本是foobar%foo^bar%foo。在命令行上,我可以运行:

SET SECRET_KEY=foobar^%foo^^^^bar^%foo
ECHO %SECRET_KEY%
它返回foobar%foo^bar%foo

但是,在\etc\activate.d\env_vars.bat中,如前所述,我有相同的行设置SECRET_KEY=foobar^%foo^^^^^^bar^%foo,我激活环境并运行ECHO%SECRET_KEY%命令,然后返回foobarfoo

有人知道如何正确地转义字符以获得环境变量中的正确字符串集吗


Windows 7 64位、Python 2.7、Conda 4.4.10在命令行中,%符号可以用%%转义,^字符加上^^,然后将字符串括起来以确保没有未转义的特殊字符。因此,对于foobar%foo^bar%foo,secret\u密钥值应按如下方式转义:

set SECRET_KEY="foobar%%foo^^^^bar%%foo"

更多信息

感谢您指出%符号应转义为%%。但是,您设置的密钥\u KEY=foobar%%foo^^bar%%foo显示为foobar%foobar%foo注释引号在字符串中。我改为设置SECRET\u KEY=foobar%%foo^^^^^ bar%%foo,它可以工作。