2

print ステートメント内の変数を解析しようとしています。

client = fabric.operations.prompt("Enter client's email address:")
cmd = 'mysql -u %s -p%s -e "UPDATE users SET email = ' %(env.user, dbpasswd) + '"%client"' + ' WHERE id = 1" %s' %account
print cmd

結果:

mysql -u root -password -e "UPDATE users SET email = %client WHERE id = 1" demo

望ましい結果:

mysql -u root -password -e "UPDATE users SET email = 'abc@xyz.com' WHERE id = 1" demo
4

2 に答える 2

3

新しい文字列書式設定オプションについて誰も言及していないことに驚いています。

cmd = 'mysql -u {user} -p{passwd} -d "UPDATE users SET email = {email} WHERE id = 1" {account}'.format(user=env.user, passwd=dbpasswd, email=client, account=account) 
于 2012-07-31T12:04:09.563 に答える
2
cmd = 'mysql -u %s -p %s -e "UPDATE users SET email = ' %(env.user, dbpasswd) + "'%s'" % client + ' WHERE id = 1" %s' % account

それはそれを修正する必要があります。%clientの値で置き換える必要がありましたclient

于 2012-07-31T11:48:46.550 に答える