python 路径字符串替换问题

2016-09-26 16:26:26 +08:00
 fxxkgw
i = '/export/server/xxx/bin/test'

我要把'/'替换成'\/'

i = '\/export\/server\/xxx\/bin\/test'

但是用了 i.replace 和 re.sub 方法得到的都是
\\/export\\/server\\/xxx\\/bin\\/test

请问这个需求怎么实现呢?
2245 次点击
所在节点    Python
7 条回复
RIcter
2016-09-26 16:28:42 +08:00
你得 print ,不 print 怎么看都是 \\/
raysonx
2016-09-26 16:29:15 +08:00
为什么要替换?楼主要手动 encode 和 decode ?
fxxkgw
2016-09-26 16:31:02 +08:00
@RIcter 是的 用 print 就正常 但我需要获取这个值 用字符串的 format 格式也不行


@raysonx 想获取值然后调用 shell 脚本执行 shell 里面的 sed 需要的是字符串 不是路径
raysonx
2016-09-26 16:36:38 +08:00
@fxxkgw 非得调用 shell 脚本吗?手动处理很容易出现注入。
littleshy
2016-09-26 17:15:25 +08:00
/又不需要转义,怎么可能出现\/这种东西……
aiver
2016-09-26 18:02:38 +08:00
@fxxkgw 你用 i.replace 后就是你要的格式了,里面出现\\V 是系统显示的效果,因为\需要转义,你用 print 就是实际的字符串了,不要纠结它在系统的表现形式
imn1
2016-09-26 18:31:03 +08:00
sed 用#做分隔符就不需要转义了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/309065

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX