将空格转换为列表中的%20

时间:2014-12-18 21:35:47

标签: python urlencode

我需要为python数组中的api帖子将空格转换为%20

tree = et.parse(os.environ['SPRINT_XML'])
olp = tree.findall(".//string")
if not olp:
  print colored('FAILED', 'red') +" No jobs accociated to this view"
  exit(1)
joblist = [t.text for t in olp]

我怎样才能在t.text上面这样做?

4 个答案:

答案 0 :(得分:15)

我建议使用urllib.parse模块及其quote()功能。 https://docs.python.org/3.6/library/urllib.parse.html#urllib.parse.quote Python3的示例:

import urllib
text_encoded = urllib.parse.quote(t.text)

注意:使用quote_plus()在你的情况下不会起作用,因为这个函数用空格替换空格。

答案 1 :(得分:13)

使用此处所述的String.replace()方法:http://www.tutorialspoint.com/python/string_replace.htm

因此对于t.text,它将是t.text.replace(" ", "%20")

答案 2 :(得分:5)

使用urllib.quote_plus

import urllib

...

joblist = [urllib.quote_plus(t.text) for t in olp]

答案 3 :(得分:0)

以下是我发现可以帮助您的内容:https://www.youtube.com/watch?v=qqxKQbKTO7o

    def spaceReplace(s):
        strArr = list(s)
        for i, c in enumerate(strArr):
            if c == ' ': strArr[i] = '%20'
        return "".join(strArr)
    
    df["Name"] = df["Name"].apply(spaceReplace)