web-dev-qa-db-ja.com

リスト内のスペースを%20に変換する

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に対してどうすればよいですか?

8
user2363318

ここで説明するようにString.replace()メソッドを使用します: http://www.tutorialspoint.com/python/string_replace.htm

したがって、_t.text_の場合、t.text.replace(" ", "%20")になります。

13
mbomb007

_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()を使用しても機能しません。

20
Jan Rozycki

これには rllib.quote_plus を使用します。

import urllib

...

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