组合数字和字符串给出'int'对象没有属性



我在运行此代码时获得'int'对象没有属性'格式'错误原因是密码有数字和字母。

import subprocess
password = input('Enter New Password: ')
c = subprocess.call(["C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe", "Set-ADAccountPassword john -NewPassword {0} –Reset"])
f = c.format(password)
print(f)

我尝试了

f = c.format(int(password))

f = c.format(str(password))

有没有办法指定密码包含字母和数字?

您将format应用于错误的代码。您正在将format应用于subprocess.call的返回值

运行由ARGS描述的命令。等待命令完成,然后返回return Code属性。

returncodeint,这就是为什么您会遇到该错误

根据您的命令,您需要将format应用于第二个参数,该参数正在传递到call

import subprocess
password = input('Enter New Password: ')
c1 = "C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe"
c2 = "Set-ADAccountPassword john -NewPassword {0} –Reset".format(password)
subprocess.call([c1, c2])

您的顺序全部搞砸了,

password = raw_input('Enter New Password: ')
cmd1, cmd2 = "C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe", "Set-ADAccountPassword john -NewPassword {0} –Reset"
c = subprocess.call([cmd1, cmd2.format(password)])

最新更新