user1488987
그는 물었다 8년 전
113

39, & # 39 는 무엇을 u&. 기호 앞에 짓궂군요 구체화하십시오 값뿐?

네 한 마디로 나는 왜 내 앞에서 것을 알고 싶어요 와-u 키와 값을.

나는 렌더링합니다 양식. 특정 ip 주소에 대한 레이블 및 원-부트 텍스트 필드 확인란이 양식에 대한 있다. 사전 사용되고 있는 말씀이있었노라 내가 키가 있는 레이블에만 코딩된) 에 대한 사전 가져옴 list_key 및 값프로필 폼 입력 (list_value). 하지만 일부 값을 와-u 앞에는 사전 만들어집니다. 다음은 견본입니다 대한 사전:

{u'1': {'broadcast': u'on', 'arp': '', 'webserver': '', 'ipaddr': u'', 'dns': ''}}

누가 제발 내가 잘못 이해 할 수 있습니다. 나는 내가 비슷한 방법으로 때 오류가 얻지 못한 시뮬레이션합니다 피스크리프터. 제안 사항을 개선하기 위해 code 가 시작. 감사합니다.

#!/usr/bin/env python

import webapp2
import itertools
import cgi

form ="""
    <form method="post">
    FIREWALL 
    <br><br>
    <select name="profiles">
        <option value="1">profile 1</option>
        <option value="2">profile 2</option>
        <option value="3">profile 3</option>
    </select>
    <br><br>
    Check the box to implement the particular policy
    <br><br>

    <label> Allow Broadcast
        <input type="checkbox" name="broadcast">
    </label>
    <br><br>

    <label> Allow ARP
        <input type="checkbox" name="arp">
    </label><br><br>

    <label> Allow Web traffic from external address to internal webserver
        <input type="checkbox" name="webserver">
    </label><br><br>

    <label> Allow DNS
        <input type="checkbox" name="dns">
    </label><br><br>

    <label> Block particular Internet Protocol  address
        <input type="text" name="ipaddr">
    </label><br><br>

    <input type="submit">   
    </form>
"""
dictionarymain={}

class MainHandler(webapp2.RequestHandler):  
    def get(self):
        self.response.out.write(form)

    def post(self):
        # get the parameters from the form 
        profile = self.request.get('profiles')

        broadcast = self.request.get('broadcast')
        arp = self.request.get('arp')
        webserver = self.request.get('webserver')
        dns =self.request.get('dns')
        ipaddr = self.request.get('ipaddr')

        # Create a dictionary for the above parameters
        list_value =[ broadcast , arp , webserver , dns, ipaddr ]
        list_key =['broadcast' , 'arp' , 'webserver' , 'dns' , 'ipaddr' ]

        #self.response.headers['Content-Type'] ='text/plain'
        #self.response.out.write(profile)

        # map two list to a dictionary using itertools
        adict = dict(zip(list_key,list_value))
        self.response.headers['Content-Type'] ='text/plain'
        self.response.out.write(adict)

        if profile not in dictionarymain:
            dictionarymain[profile]= {}
        dictionarymain[profile]= adict

        #self.response.headers['Content-Type'] ='text/plain'
        #self.response.out.write(dictionarymain)

        def escape_html(s):
            return cgi.escape(s, quote =True)

app = webapp2.WSGIApplication([('/', MainHandler)],
                              debug=True)

jdi
그는 8년 전 댓글을 달았습니다
1

내가 보고 있는 'u' 는 실제 질문 &quot, 왜 내 앞에서 키와 values&quot,?

jdi
그는 8년 전 댓글을 달았습니다
0

39 진실이며당신이 don& 오류가 발생하는 중인 어디든요 표시, t 에서 1 위를 차지했다.

답변 2 개

39, & # 39 는 u&. 유니코드 문자열을 string 값이 표현되는 고말은 앞에서 왔다. 문자 인코딩 declarations&quot &quot 불렀으매 문장열 다음은 전에, 문자열. 유니코드 문자를 ascii 관리할 수 있는 보통 때보다 더 표현할 수 있는 방법입니다.

유니코드 문자열을 여러 가지 방법으로 변환할 수 있습니다.

>>> u'foo'
u'foo'
>>> unicode('foo')
u'foo'

하지만 진짜 이유는 나타내기 위해 이 같은 일이 ([번역 여기서요] [1]).

>>> val = u'Ознакомьтесь с документацией'
>>> val
u'\u041e\u0437\u043d\u0430\u043a\u043e\u043c\u044c\u0442\u0435\u0441\u044c \u0441 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0435\u0439'
>>> print val
Ознакомьтесь с документацией

대부분의 경우, shouldn& # 39 의 및그룹에 다른 치료에 비해 별로 없는 재활용됩니다 ascii 문자열 이 코드의.

이외에도 심볼에는 &quot raw&quot, 같은 볼 수 있습니다. 기호 문자열으로 말하는 모든 특수 문자를 해석할 수 없습니다. Python 에서 이 정규식이 할 때 매우 유용합니다.

>>> 'foo\"'
'foo"'
>>> r'foo\"'
'foo\\"'

유니코드 문자열을 ascii, 논리적으로 avamer 수 있습니다.

>>> bird1 = unicode('unladen swallow')
>>> bird2 = 'unladen swallow'
>>> bird1 == bird2
True

[1]: http://translate.google.com/ # ru% 0 0 0 0 0 %b 7cen%7 캜 %d0%9 ᅦ %d. %b 7 0 0 %bc%d1%8 캜 %d1%82 %d. %bd%d %d. %ba%d %be%d %b 5 0 0 0 0 %ba%d1%83 %be%d %d1%8c%20 %d1%81 %d. %d1%81%20 %d. %b 4 0 0 0 0 5 %d. %d. %d. %bc%d %b %b 0 0 8 0 0 5 %d. %b %bd%d1%82 %d. %d1%86 %d. %b %d. %b9

James Kingsbery
user1488987
그는 8년 전 댓글을 달았습니다
1

할 수 없는 것을 알고, 내가 선택해제합니다 흥분됐나요 지저스트 내아기마저도 유니코드 문자열을 표현되는 사전 작업하는 중 오류가 발생했습니다.

jdi
그는 8년 전 댓글을 달았습니다
0

@user1488987: 맞습니다. 유니코드 환경에서 딕트 있을 수 있습니다.

Iulian Onofrei
그는 7년 전 댓글을 달았습니다
3

예를 들어, 멋지구리해요 @jdi 구체화하십시오:)

flamenco
그는 4년 전 댓글을 달았습니다
3

'Ознакомьтесь с документацией'.:)

이 기능은, 버그가 아닙니다.

39, & # 39, 특히 유니코드 type& (http://docs.python.org/howto/unicode.html) 참조. 부분.