dctLineItems = InvFunctions.dctLineItems
for value in dctLineItems.values():
iORDER_ID = value[0]
iITEM_No = value[1]
iQUANTITY = value[2]
sTmp = value[3]
sTmp2 = sTmp.replace("'", "\'", 1)
#sTmp2 = connPy.escape(sTmp)
sITEM_Name = sTmp2
sPART_No = value[4]
fPRICE = value[5]
fPRICE = fPRICE.lstrip('$')
iDOGWOOD = value[6]
iADVANCED = value[7]
필자는 광범위하게 테스트하고 필요한 것을 제외한 모든 작업을 대체했습니다. " '"을 "\'"로 바꾸려고 할 때 아무 것도하지 않습니다. 주석 처리 된 행 # 8 connPy.escape (sTmp)을 주목하십시오.이 중 하나는 작동하지 않지만 별도의 질문이 될 것입니다.python replace는 " ''를" '로 대체하지 않습니다.
백 슬래시를 두 번 사용하십시오. 그렇지 않으면 인용 부호 만 이스케이프합니다. –
더블 스케이프 "\\ '"또는 원시 문자열 r "\'"을 사용해야합니까? –
아마도 'x'가 'n', 't'등과 같은 "특수 문자"중 하나 인 문자 쌍 '\ x'가 특수 문자를 생성하고 그렇지 않으면 *는 변경되지 않은 상태에서 다른 언어와 혼동을 일으킬 수 있습니다. . 파이썬'\ x' * always *는 항상 하나의 문자를 생성합니다.이 문자는 특별한 것이거나 단순히'x'입니다. 이 경우'x = ''. 한 쌍의 문자를 원한다면 백 슬래시를 벗어나야합니다. – Bakuriu