如何理解Python的传参?

Python

1 Python的传参

1.1 Python的原文解析

– 脚本名称和脚本后的参数转换成一个字符串列表(参数使用空格分隔)
– 参数列表保存到sys的argv变量中
– 参数列表需要使用”import sys”导入
– 列表的长度至少为一(即sys.argv[0]变量会被自动创建,装载脚本名称或者为“-”)
– 当解析器接收到脚本时,sys.argv[0]的值是脚本名称
– 当解析器没有接收到脚本时,sys.argv[0]的值是“-”
– 当使用“-c”参数,sys.argv[0]的值是“-c”
– 当使用“-m”参数,sys.argv[0]的值是所在模块的全名

1.2 实操理解

1.2.1 字符串列表实验

vim sys_argv.py

输入如下内容:

#!/usr/bin/python
import sys
print(sys.argv[0])
print(sys.argv[1])
print(sys.argv[2])
print(sys.argv[3])

授权并执行实验脚本:

chmod u+x sys_argv.py
./sys_argv.py a b c

显示如下:

sys_argv.py
a
b
c

1.2.2 测试空值

python

向导如下:

Python 2.7.5 (default, Aug  4 2017, 00:39:18)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print(sys.argv[0])

>>>

参阅文档:
https://docs.python.org/2.7/tutorial/index.html
https://docs.python.org/2.7/

没有评论

发表回复

FTP & SFTP & FTPS
如何使用Python连接FTP?

1 前言 一个问题,一篇文章,一出故事。 笔者遇到一个需要使用Python连接ftp的需求,于是整理 …

Python
如何安装部署pysmb?

1 基础知识 pysmb是一个实验性的SMB/CIFS库 pysmb用Python编写 pysmb实 …

Python
如何安装部署Anaconda3?

1 基础知识 1.1 Anaconda的版本 – Anaconda Enterprise …