代码之家  ›  专栏  ›  技术社区  ›  Kade Williams

将数字和字符串组合在一起,使“int”对象没有属性

  •  0
  • Kade Williams  · 技术社区  · 8 年前

    运行此代码时,我得到一个“int”对象没有属性“format”错误

    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))
    

    2 回复  |  直到 8 年前
        1
  •  0
  •   Wondercricket    8 年前

    你正在申请 format 总体安排 返回值为 subprocess.call

    returncode 是一个 int ,这就是为什么会出现这种错误

    总体安排 到正在传递到的第二个参数 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])
    
        2
  •  0
  •   gold_cy    8 年前

    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)])