NameError:名称“argv”未在 Python 中定义

NameError:名称“argv”未在 Python 中定义

NameError: name ‘argv’ is not defined in Python

当我们使用
argv列表而不首先从sys模块导入它时,会出现 Python“NameError: name ‘argv’ is not defined”。要解决该错误,请在使用前导入argvfrom sys import argv

nameerror 名称 argv 未定义

下面是错误如何发生的示例。

主程序
# ⛔️ NameError: name 'argv' is not defined print(argv) print(argv[0]) print(argv[1:])

为了解决这个错误,我们必须
sys模块中导入
argv列表

主程序
# ✅ import argv list from sys first from sys import argv print(argv) print(argv[0]) print(argv[1:])

即使该sys模块在 Python 标准库中,我们仍然需要在使用前导入它。

确保您没有在 import 语句中拼错任何内容,因为变量和模块的名称区分大小写。

另外,请确保您没有导入argv嵌套范围,例如函数。在顶层导入模块,以便能够在整个代码中使用它。

argv直接导入列表的另一种方法是导入sys
模块并
argvsys.argv.

主程序
# ✅ import entire sys module import sys print(sys.argv) print(sys.argv[0]) print(sys.argv[1:])

一般来说,最好只导入代码使用的函数、变量和类,而不是导入整个模块。

例如,当我们使用诸如 之类的导入时import sys,很难看到sys文件中使用了模块中的哪些函数和变量。

相反,当我们导入特定的函数和变量时,更容易看出正在使用哪些函数和变量。

argv变量是传递给 Python 脚本的命令行参数列表。

列表中的第一项 ( argv[0]) 是脚本的名称。

sys您可以通过访问官方文档查看模块提供的所有函数和常量

结论#

当我们使用
argv列表而不首先从sys模块导入它时,会出现 Python“NameError: name ‘argv’ is not defined”。要解决该错误,请在使用前导入argvfrom sys import argv