0

尝试使用 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 "/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

知道我做错了什么。提前致谢。

4

1 回答 1

5

问题是您将字符串插值放置在错误的位置;它必须直接在字符串之后,而不是在括号之外。(顺便说一句,这不是特定于织物的。)

所以

run('adduser -g vpn -c %s %s' % (eid, uid))

代替

run('adduser -g vpn -c %s %s') % (eid, uid)

run("echo -e '%s\n' | passwd %s" % (password, uid))

代替

run("echo -e '%s\n' | passwd %s") % (password, uid)
于 2012-09-03T06:01:33.523 回答