Python packages.'import sys'vs'来自sys import argv'

问题描述 投票:-3回答:2

我正在尝试在我的python脚本中使用'argv'。为此,我使用以下代码:

from sys import argv
script, file_name = argv
print(file_name)

python3 e.py e.txt此代码工作正常。

但是当我使用时:

import sys

并尝试使用'argv',我得到错误:

'NameError:名称'argv'未定义'。

我不明白这一点,因为通过导入'sys'完整模块变得可用到我的代码中。

你能解释一下为什么会这样吗?如何打包工作?

谢谢。

python python-3.x packages
2个回答
1
投票

导入sys不允许您直接访问sys本身内的任何名称。要访问那些需要使用sys作为前缀的前缀:

sys.argv
sys.exit()

如果你想使用argv而不是sys.argv试试

from sys import *

-3
投票

@Aman,看看以下2个代码示例。

查看这个美丽的https://www.python.org/dev/peps/pep-0008/?#imports有关进口的更多信息。

实验室_file_那么.朋友 »

导入系统

import sys

script, file_name = sys.argv;

print(script, file_name);

输出»

E:\Users\Rishikesh\Python3\Practice\SysFileName>python sys_file_name.py  file1.txt
sys_file_name.py file1.txt

实验室_file_那么2.朋友 »

来自sys import argv

from sys import argv

script, file_name = argv;

print(script, file_name);

输出»

E:\Users\Rishikesh\Python3\Practice\SysFileName>python sys_file_name2.py file2.txt
sys_file_name2.py file2.txt
© www.soinside.com 2019 - 2024. All rights reserved.