大概的场景就是客户端那边给了一个 url ,到了 python 这边,要去调用 linux 的 shell ,做些 curl URL 和 wget URL 的操作。但是有些 URL 里面带了括号或者一些奇怪的东西。需要转义。感觉用正则太麻烦, 请问各位大佬有什么好办法吗?
1
zjuhwc Feb 26, 2017 via iPhone
只需要 curl 和 wget 的功能的话,几乎都可以用 requests 这个包来实现吧
|
4
zjuhwc Feb 26, 2017 via iPhone
哦,那转义为啥需要正则?
|
5
alcarl Feb 26, 2017 via Android 不是应该做好 urlencode 然后再调用 shell 的么?(ಠ .̫.̫ ಠ)
|
7
zjuhwc Feb 26, 2017 via iPhone
这个是转义,不是正则啊……你可以用三个引号的字符串来写命令,就不用担心双引号问题了
|
10
liyu4 Feb 26, 2017 via iPhone
多了\
|
13
loading Feb 26, 2017 via Android
不给例子吗?
不过问题我看应该解决了,你应该是不了解 urlencode 的事。 |
14
akira Feb 26, 2017
urlencode 两次,或者改成用类似 base64 编码处理一下
|
15
Adia OP |
16
binux Feb 26, 2017
python 调用 shell 为什么要转移?直接传参数列表过去不就好了
|
17
stranbird Feb 27, 2017
重构还是值得的,毕竟现在你们已经遇到继续往下开发的瓶颈了。
具体做的时候可以用 https://curl.trillworks.com/来把 curl 命令自动转化成 request 的代码。 |