我在这样的变量中有一个路径:
path = "C:\HT_Projeler\7\Kaynak\wrapped_gedizw.tif"
Run Code Online (Sandbox Code Playgroud)
这是不正确的,因为它包含转义序列:
>>> path
'C:\\HT_Projeler\x07\\Kaynak\\wrapped_gedizw.tif'
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个变量中的路径,使其成为等同于r"C:\HT_Projeler\7\Kaynak\wrapped_gedizw.tif"或"C:/HT_Projeler/7/Kaynak/wrapped_gedizw.tif"?
我知道这个话题是常见的,我调查了很多问题(1,2在这里等).
加
这是我的确切脚本:
...
basinFile = self._gv.basinFile
basinDs = gdal.Open(basinFile, gdal.GA_ReadOnly)
basinNumberRows = basinDs.RasterYSize
basinNumberCols = basinDs.RasterXSize
...
Run Code Online (Sandbox Code Playgroud)
在这里是self._gv.basinFile我的道路.所以我不能把"r"开头self._gv.basinFile
如果在Python代码中插入路径,只需使用原始字符串,就像其他人建议的那样.
相反,如果该字符串不在您的控制之下,那么"事后"并没有太多可以做的事情.转义序列转换不是单射的,因此,给定一个已经处理了转义序列的字符串,您不能单独"返回".IOW,如果有人错误地写道:
path = "C:\HT_Projeler\7\Kaynak\wrapped_gedizw.tif"
Run Code Online (Sandbox Code Playgroud)
如你所示,你得到
'C:\\HT_Projeler\x07\\Kaynak\\wrapped_gedizw.tif'
Run Code Online (Sandbox Code Playgroud)
并且没有办法猜测"它们意味着什么",因为它\x07可能被写成\7,或\x07,或\a.哎呀,任何一封信都可能最初是作为一个逃脱序列写的 - 你在那个字符串中看到的a可能实际上是这样\x61.
长话短说:您的来电者有责任为您提供正确的数据.一旦它被破坏,就没有办法回来了.
| 归档时间: |
|
| 查看次数: |
79 次 |
| 最近记录: |