Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
包含变量的Python子流程_Python_Subprocess - Fatal编程技术网

包含变量的Python子流程

包含变量的Python子流程,python,subprocess,Python,Subprocess,这是我目前使用的代码。我正在为一个朋友设置一个自动密码更改器,但我被最后一部分卡住了,在任何地方都找不到答案。我正在尝试运行最后一个命令,该命令将从python脚本中更改密码(管理员权限已经整理好)。我需要弄清楚如何将随机的“变量”输入subprocess.call命令以及其他内容 import subprocess password = 123456 subprocess.call("net user Chris "+ password, shell = False) **Error

这是我目前使用的代码。我正在为一个朋友设置一个自动密码更改器,但我被最后一部分卡住了,在任何地方都找不到答案。我正在尝试运行最后一个命令,该命令将从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
>>> 
导入子流程
密码=123456
subprocess.call(“网络用户Chris”+密码,shell=False)
**错误:**
回溯(最近一次呼叫最后一次):
文件“C:\Users\chris\Desktop\Password Rotation\PasswordChange.py”,第5行,
在里面
subprocess.call(“网络用户Chris”+密码,shell=False)
TypeError:只能将str(而不是“int”)连接到str
>>> 

如果您只想在子流程调用中包含一个变量,您可以按照前面的回答使用引号:

import subprocess

password = "123456"

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

subprocess.call(variable, shell = False)
^^这将不起作用,因为您将
密码设置为整数。因为Python是强类型的,所以它不会将整数强制为字符串。。。你必须是明确的,并转换它自己

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

password = '123456'

无论何时我尝试运行它,它都会将其标记为错误
password = 123456
"net user Chris "+ password
password = '123456'