Python软件包。“ import sys”与“ from sys import argv”

时间:2018-06-30 07:30:24

标签: python python-3.x packages

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

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

python3 e.py e.txt 这段代码可以正常工作。

但是当我使用时:

import sys

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

  

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

我不理解这一点,因为通过导入“ sys”完整模块就可以在我的代码中使用了。

您能解释为什么会这样吗?打包方式如何工作?

谢谢。

2 个答案:

答案 0 :(得分:1)

导入sys不能直接访问sys本身内部的任何名称 要访问这些文件,您需要在它们前面加上sys:

sys.argv
sys.exit()

如果要使用argv代替sys.argv,请尝试

from sys import *

答案 1 :(得分:-3)

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

  

选中漂亮的https://www.python.org/dev/peps/pep-0008/?#imports,以获取有关进口的更多信息。

sys_file_name.py»

  

导入系统

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

sys_file_name2.py»

  

从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