0
これらの2つの異なる文字列補間スタンザを指定すると、いずれも機能しません。どちらも{n}と%(テキスト)の挿入を出力にプレーンな生のテキストとして返します。私は何が欠けていますか?python3文字列補間 - どちらの方法も動作しません
アイブは現在のpython 3
bulk_string = (
"bulk insert SomeDB.dbo.%(lru)s\n" +
"from 'C:\\Someplace\\"
"project\\%(filename)s'\n" +
"with (\n" +
" FIELDTERMINATOR = ',',\n" +
" ROWTERMINATOR = '%(term)s'\n" +
");"
% {
'lru': lru,
'filename': filename,
'term' : "\n"
}
)
とへの移植、python2に永遠の方法(文字列)%を使用して:
bulk_string = (
"bulk insert SomeDB.dbo.{0}\n" +
"from 'C:\\Someplace\\"
"project\\{1}'\n" +
"with (\n" +
" FIELDTERMINATOR = ',',\n" +
" ROWTERMINATOR = '{2}'\n" +
");"
.format(lru, filename, "\n")
)
上記の最初のスタンザでは、間違った閉じ括弧がありました。私は2.7のコードに戻って見ていましたが、上記の最初のスタンザ(%(string)sメソッド付き)はすべてのプラス記号を省略するとうまくいきます。そして、次の%{}補間が適用されます全部... – Omortis
あなたは 'format'にdictを渡すことができ、' {lru} '...をプレースホルダとして使うことに注意してください。 –