我在python中遇到了以下问题,用于生成 Linux上的文件,正在Windows上读取。Python正在自动转义 字符串,因此当写入文件时,它们是不正确的。在
在shell中,我将环境变量设置为UNC路径:
camd011> setenv python_error "\\\\a\\b\\c"
camd011> echo $python_error
\\a\b\c
然后我在python中检索它,因为它将用于生成C代码 以及一个“include”指令。但是,当我在python中检索值时:
^{pr2}$正如您在上面看到的,它是自动转义的,因此当我将它写入文件时:
>>> f = open("temp.txt", "w")
>>> f.write(value)
>>> f.close()
最后我得到了双斜杠,而不是一个正确的UNC路径,以及代码 现在无法编译。文件:
\\\\a\\b\\c
也就是说,代码包含一个“include”,但现在失败了:
#include "\\\\a\\b\\c\file.h"
如何阻止python自动转义环境变量?在
这似乎是
tcsh
中引用和删除的问题。它与Python无关Python获取的变量与您可以使用env
命令输出的变量相同。在似乎在tcsh中,
echo $FOO
在打印之前去掉了$FOO
的值。这似乎误导了您环境变量中的实际内容,因此您添加了额外的引用层。在正确的
setenv
命令应该是setenv python_error "\\a\b\c"
。在相关问题 更多 >
编程相关推荐