作者:7sDream
链接:https://www.zhihu.com/question/23711222/answer/26173004
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
sys是Python的一个「标准库」,也就是官方出的「模块」,是「System」的简写,封装了一些系统的信息和接口,官方的文档请戳:27.1. sys — System-specific parameters and functions,中文版的可以参考:[python] sys模块
教程里的源码我抄下来:
#!/usr/bin/python
# Filename: using_sys.py
import sys
print 'The command line arguments are:'
for i in sys.argv:
print i
print '\n\nThe PYTHONPATH is', sys.path, '\n'
除去注释的第一行:
import sys
就是把整个「sys」模块都导入进来了。不知道提住学没学过C/C++呢,就和他们的「#include」差不多:
你include了iostream才能系统给你的std::cout;你import了sys,才能使用系统给你的sys.argv。
然后再说说argv这个变量。
「argv」是「argument variable」参数变量的简写形式,一般在命令行调用的时候由系统传递给程序。
这个变量其实是一个List列表,argv[0] 一般是被调用的脚本文件名或全路径,和操作系统有关,argv[1]和以后就是传入的数据了。
然后我们再看调用脚本的命令行:
python using_sys.py we are arguments
python就不用说了,「using_sys.py」脚本名,后面的用空格分割开的「we」「are」「argument」就是参数了。
PS.一般参数由空格分隔,如果参数内部有空格要使用英文双引号引起来比如这样:
python using_sys.py hi "I'm 7sDream"
按照教程的命令行运行脚本的时候,按照argv的定义:
argv = ["using_sys.py", "we", "are", "argument"]
然后用for对argv这个List进行迭代输出,就得到了教程里的结果。「话说你真的跟着教程做了吗?we are argument因该是你亲手输入终端的啊 = =」
------------------------------------------------------
不懂请评论追问~
大神们看到错误请不吝指正QAQ~python才刚开始学一会呢~