包含变量的Python子进程

时间:2018-08-23 15:25:04

标签: python subprocess

这是我当前正在使用的代码。我正在为一个朋友设置一个自动密码更改器,但是我停留在最后一部分,无法在任何地方找到答案。我正在尝试运行最终命令,该命令将更改python脚本中的密码(管理员特权已被清除)。我需要弄清楚如何在subprocess.call命令以及其他内容中输入随机的“变量”。

import subprocess

password = 123456

subprocess.call("net user Chris "+ password, shell = False)



**Error:**
Traceback (most recent call last):
File "C:\Users\chris\Desktop\Password Rotation\PasswordChange.py", line 5, 
in <module>
subprocess.call("net user Chris "+ password, shell = False)
TypeError: can only concatenate str (not "int") to str
>>> 

3 个答案:

答案 0 :(得分:1)

password = "123456"

会做吗

答案 1 :(得分:0)

如果您只想在子流程调用中包含一个变量,则可以使用引号作为前面建议的答案:

import subprocess

password = "123456"

variable = "include this text too in the subprocesses command" + password

subprocess.call(variable, shell = False)

答案 2 :(得分:0)

password = 123456
"net user Chris "+ password

^^这将不起作用,因为您将password设置为整数。由于Python是强类型的,因此不会为您强制将整数强制转换为字符串...您必须明确并将其自己转换。

但是,您可能还是要使用字符串作为密码:

password = '123456'