sys.argv是什么?

作者: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才刚开始学一会呢~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值