错误:名称错误:未定义名称'子进程

error : NameError: name #39;subprocess#39; is not defined(错误:名称错误:未定义名称#39;子进程)

本文介绍了错误:名称错误:未定义名称'子进程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

#!/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 + '
')*2).encode('utf-8') )
if passwd.returncode != 0:
    raise OSError('password setting failed')

如何修复此错误:

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

推荐答案

子流程是一个模块。您需要将其导入。

将此代码作为文件的第二行:import subprocess

这篇关于错误:名称错误:未定义名称'子进程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:错误:名称错误:未定义名称'子进程

基础教程推荐