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は "''を" 'に置き換えません。
バックスラッシュを2倍します。それ以外の場合は、引用符をエスケープします。 –
ダブルスカイプ "\\ '"または生の文字列r "\'"を使用しますか? –
「x」が「n」や「t」などの「特殊文字」のいずれかであるときに、文字のペア「\ x」が特殊文字を生成し、それ以外の場合は*が変更されない場合は、他の言語と混同されている可能性があります* 。 Pythonの '\ x' * always *は、特別なものか単に' x'のいずれかの一つの文字を生成します。この場合、 'x = ''となります。あなたは文字のペアをしたい場合は、バックスラッシュをエスケープする必要があります。 – Bakuriu