我正在尝试在我的python脚本中使用“ argv”。 为此,我使用以下代码:
from sys import argv
script, file_name = argv
print(file_name)
python3 e.py e.txt 这段代码可以正常工作。
但是当我使用时:
import sys
并尝试使用'argv',我得到了错误:
'NameError:名称'argv'未定义'。
我不理解这一点,因为通过导入“ sys”完整模块就可以在我的代码中使用了。
您能解释为什么会这样吗?打包方式如何工作?
谢谢。
答案 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