我需要为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上面这样做?
答案 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)
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)