将解码的(从印地语)参数添加到python中的给定URL

时间:2014-04-11 20:32:52

标签: python

我有这个url ='http://www.bhaskar.com/uttar_pradesh/lucknow/='。在“=”符号之后,给出一个印地语单词,表示搜索的单词。我希望能够将其作为参数添加到此URL,这样我每次只需要更改单词而不是整个URL。我试着用这个:

>>> url = 'http://www.bhaskar.com/uttar_pradesh/lucknow/='
>>> word = 'word1'
>>> conj = url + word

但这给了我unicode的印地语单词。像这样:

>>> conj
'http://www.bhaskar.com/uttar_pradesh/lucknow/=\xe0\xa6\xb8\xe0\xa6\xb0'

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

  

但是这给了我unicode中的孟加拉语单词

不,它没有:)

在终端中键入temp时,会显示字符串的唯一解释。但是,当您键入print(temp)时,您将获得更多用户友好型相同字符串的表示形式。但是,最后temp指向的字符串始终相同,只是以不同的方式呈现。例如,请参阅第二个并将其放入变量并打印出来:

>>> temp2 = 'http://www.cfilt.iitb.ac.in/indowordnet/first?langno=3&queryword=\xe0\xa6\xb8\xe0\xa6\xb0'
>>> print(temp2)
http://www.cfilt.iitb.ac.in/indowordnet/first?langno=3&queryword=সর

实际上,您可以使用所有字符中的转义值创建字符串,而不仅仅是孟加拉语:

>>> temp3 = '\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x63\x66\x69\x6c\x74\x2e\x69\x69\x74\x62\x2e\x61\x63\x2e\x69\x6e\x2f\x69\x6e\x64\x6f\x77\x6f\x72\x64\x6e\x65\x74\x2f\x66\x69\x72\x73\x74\x3f\x6c\x61\x6e\x67\x6e\x6f\x3d\x33\x26\x71\x75\x65\x72\x79\x77\x6f\x72\x64\x3d\xe0\xa6\xb8\xe0\xa6\xb0'
>>> print(temp3)
http://www.cfilt.iitb.ac.in/indowordnet/first?langno=3&queryword=সর

最后,所有这些字符串都是相同的:

>>> temp == temp2
True
>>> temp == temp3
True

所以,不用担心,变量中有正确的字符串。如果转义字符串显示在其他位置,则只会出现问题。完成你的程序,运行它直到结束,你会发现没有错误。