python字符串转换
正在尝试使用python结构脚本添加用户python字符串转换,python,fabric,Python,Fabric,正在尝试使用python结构脚本添加用户 uid = prompt("Enter username:") eid = prompt("Enter user's email address:") password = generate_passwd() run('adduser -g vpn -c %s %s') % (eid, uid) run("echo -e '%s\n' | passwd %s") % (password, uid) print (password) 错误: File "
uid = prompt("Enter username:")
eid = prompt("Enter user's email address:")
password = generate_passwd()
run('adduser -g vpn -c %s %s') % (eid, uid)
run("echo -e '%s\n' | passwd %s") % (password, uid)
print (password)
错误:
File "/tmp/hardway/fabfile.py", line 56, in addvpnuser
run('adduser -g vpn -c %s %s') % (eid, uid)
TypeError: not all arguments converted during string formatting
知道我做错了什么吗。提前感谢。问题是您将字符串插值放置在错误的位置;它必须直接在字符串后面,而不是在parens之外。(顺便说一句,这不是织物特有的。) 所以 而不是
run('adduser -g vpn -c %s %s') % (eid, uid)
run("echo -e '%s\n' | passwd %s") % (password, uid)
及
而不是
run('adduser -g vpn -c %s %s') % (eid, uid)
run("echo -e '%s\n' | passwd %s") % (password, uid)
问题是您将字符串插值放置在错误的位置;它必须直接在字符串后面,而不是在parens之外。(顺便说一句,这不是织物特有的。) 所以 而不是
run('adduser -g vpn -c %s %s') % (eid, uid)
run("echo -e '%s\n' | passwd %s") % (password, uid)
及
而不是
run('adduser -g vpn -c %s %s') % (eid, uid)
run("echo -e '%s\n' | passwd %s") % (password, uid)
另一条也一样(“回声”线)。另一条也一样(“回声”线)。