Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.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 错误:name错误:name';子流程';没有定义_Python_Solaris - Fatal编程技术网

Python 错误:name错误:name';子流程';没有定义

Python 错误:name错误:name';子流程';没有定义,python,solaris,Python,Solaris,如何修复此错误: #!/usr/bin/python3 username = 'joe' # generate passphrase pw_length = 6 phrase = subprocess.check_output(['pwgen', str(pw_length), '1']) phrase = phrase.decode('utf-8').strip() dev_null = open('/dev/null', 'w') passwd = subprocess.Popen(['

如何修复此错误:

#!/usr/bin/python3
username = 'joe'

# generate passphrase
pw_length = 6
phrase = subprocess.check_output(['pwgen', str(pw_length), '1'])
phrase = phrase.decode('utf-8').strip()

dev_null = open('/dev/null', 'w')
passwd = subprocess.Popen(['sudo', 'passwd', user], stdin=subprocess.PIPE,
                          stdout=dev_null.fileno(),
                          stderr=subprocess.STDOUT)
passwd.communicate( ((phrase + '\n')*2).encode('utf-8') )
if passwd.returncode != 0:
    raise OSError('password setting failed')

子流程是一个模块。你需要导入它


把它作为文件中的第二行:
import subprocess

import subprocess?现在我得到了这个
phrase=subprocess。检查输出(['pwgen',str(pw_length),'1'])属性错误:'module对象没有属性'check_output'
@munish开始一个新问题。不要只编辑你的原始问题,在初始问题解决后再问一个新问题。您应该接受jknupp的回答,并就“检查输出”错误提出新问题。我回滚了你的编辑,这样你可以问一个新问题。@RicardoAltamirano,munish:事实上,他不应该。他不应该养成一遇到错误就在stackoverflow上发帖的习惯。但我同意你的观点,不再继续这里的其他讨论(这当然主要是针对OP:p)。@Keyser说得好。在发布到此处之前,应始终进行调试。
bash-3.00# python ./pass2.py
Traceback (most recent call last):
  File "./pass2.py", line 6, in ?
    phrase = subprocess.check_output(['pwgen', str(pw_length), '1'])
NameError: name 'subprocess' is not defined