파이썬에서 사전을 쿼리 문자열로 변환하는 방법은 무엇입니까?
사용후cgi.parse_qs()
결과(사전)를 쿼리 문자열로 다시 변환하는 방법은 무엇입니까?비슷한 것을 찾고 있습니다.urllib.urlencode()
.
파이썬 3
urllib.parse.urlencode(query, doseq=False, [...])
매핑 개체 또는 strorbytes 개체를 포함할 수 있는 두 요소 튜플 시퀀스를 퍼센트 인코딩된 ASCII 텍스트 문자열로 변환합니다.
A dict
매핑입니다.
레거시 파이썬
urllib.urlencode
(query
[,doseq
])
매핑 개체 또는 두 요소 튜플 시퀀스를 "% 인코딩" 문자열로 변환...일련의key=value
로 구분된 쌍.'&'
문자...
python3에서는 약간 다릅니다.
from urllib.parse import urlencode
urlencode({'pram1': 'foo', 'param2': 'bar'})
출력:'pram1=foo¶m2=bar'
python2 및 python3 호환성을 위해 다음을 시도하십시오.
try:
#python2
from urllib import urlencode
except ImportError:
#python3
from urllib.parse import urlencode
당신은 정확히 같은 것을 찾고 있습니다.urllib.urlencode()
!
그러나 (와 구분하여) 호출할 때 사전 키는 고유한 조회 변수 이름이고 값은 각 이름에 대한 값 목록입니다.
이 정보를 에 전달하려면 이러한 목록을 "플랫"해야 합니다.다음은 튜플의 목록 이해를 통해 수행할 수 있는 방법입니다.
query_pairs = [(k,v) for k,vlist in d.iteritems() for v in vlist]
urllib.urlencode(query_pairs)
아마도 당신은 다음과 같은 것을 찾고 있을 것입니다.
def dictToQuery(d):
query = ''
for key in d.keys():
query += str(key) + '=' + str(d[key]) + "&"
return query
사전을 사용하여 urlencode와 마찬가지로 쿼리 문자열로 변환합니다.쿼리 문자열에 마지막 "&"을 추가합니다.return query[:-1]
문제가 있는 경우 수정합니다.
언급URL : https://stackoverflow.com/questions/7801991/how-to-convert-a-dictionary-to-query-string-in-python
'programing' 카테고리의 다른 글
"K extends key of T"와 "key of T"를 직접 사용하는 것의 차이점은 무엇입니까? (0) | 2023.07.17 |
---|---|
다른/변경된 경우 업데이트 (0) | 2023.07.17 |
NLTK 토큰라이저를 사용하여 구두점을 제거하는 방법은 무엇입니까? (0) | 2023.07.17 |
Oracle: 열 순서가 인덱스에서 중요합니까? (0) | 2023.07.17 |
그래프(데이터 구조)를 Python으로 표현 (0) | 2023.07.17 |