sys.argv的意义[转]
sys.argv的意义
原文地址:https://www.cnblogs.com/zzliu/p/10775049.html
简单来说,sys.argv是一个参数列表,这个列表存放着从外界获取到的参数(可能有多个)
下面以一个例子来详细阐述sys.argv,本次演示在ubuntu环境下运行
新建一个test.py,写入以下代码
test.py
import sys
lst = sys.argv
print(lst)
在命令行使用python解释器运行test.py
python3 test.py # 注意此命令要在test.py所在的目录下运行
运行结果
['test.py']
可以看到sys.argv里面只有一个元素,是当前文件的文件名
下面我们在运行test.py时传入一个参数,观察sys.argv的变化
python3 test.py 2
运行结果
['test.py', '2']
传入多个参数时
python3 test.py 2 "hello" # 注意参数是以空格分割
运行结果
['test.py', '2', 'hello']
改变当前工作目录,切换到上级目录tmp
cd ..
再次运行test.py
python3 tmp/test.py 2 "hello" "world"
运行结果
['tmp/test.py', '2', 'hello', 'world']
可以看到sys.argv的第一个元素是执行的py文件相对于当前工作目录的路径
sys.argv的使用
工作中我们可能会遇到这样一种情况,需要在命令行执行py文件,同时也需要传入参数,这时候sys.argv就派上用场了,sys.argv维护着一个参数列表,从外界传入的参数都记录在这个列表里,从而就可以在py文件里使用这些参数
修改test.py文件
test.py
import sys
lst = sys.argv
print(lst)
def func():
a = int(sys.argv[1])
b = int(sys.argv[2])
return a**b
print("result of func:",func())
运行结果
['test.py', '2', '3']
result of func: 8
小结
简而言之,sys.argv是一个参数列表,第一个元素是执行的py文件相对于当前工作目录的路径,后面的元素都是外界传入的参数,在py文件里可以使用sys.argv[index]
的方式获取这些参数
sys.argv的意义[转]的更多相关文章
- sys.argv的意义及用法
sys.argv的意义 简单来说,sys.argv是一个参数列表,这个列表存放着从外界获取到的参数(可能有多个) 下面以一个例子来详细阐述sys.argv,本次演示在ubuntu环境下运行 新建一个t ...
- Pyqt5 获取命令行参数sys.argv
大家有没有注意到,很多软件都能接收第三方应用触发命令行参数,根据参数打开想要的效果. 在windows任务管理器调取命令行列,我们同样能看到进程中有好多是带有参数的. 现在,我们用Pyqt5 (Py3 ...
- sys.argv
import sys i=0 print len(sys.argv) while i < len(sys.argv): print 'sys.argv[%d]:%s' %(i,sys.argv[ ...
- [py]os.walk爬目录&sys.argv灵活获取参数
1, 遍历目录 os.walk('/tmp') os.next() 2,sys.argv ######################################## py@lanny:~/t ...
- python sys.argv[]
sys.argv[]是用来获取命令行参数的,是一个由该脚本自身路径和其它输入的参数组成的List.sys.argv[0]表示代码本身文件路径. 这里,当我们执行python using_sys.py ...
- 【python】sys.argv[]的用法
在学python的过程中,一直弄不明白sys.argv[]的意思,虽知道是表示命令行参数,但还是有些稀里糊涂的感觉. 今天又好好学习了一把,总算是大彻大悟了. Sys.argv[]是用来获取命令行参数 ...
- sys.argv[]基本用法
#python 3.4.2 #windows系统下可以在CMD下执行 python test.py 第一参数 第2个参数 #空格分隔每个参数,sys.argv[]是用来获取命令行参数的 #引用必要的包 ...
- Python中sys.argv[]的用法
类似bash中的$0, $1, $2... sys.argv[0]:文件名 sys.argv[1]:第一个参数 sys.argv[2]:第二个参数 import sys print "The ...
- sys.argv[]用法
#-*- coding: utf-8 -*- """ sys.argv 用来获取命令行参数 sys.argv[0] 表示当前执行文件 "-k".sta ...
随机推荐
- 01 语言基础+高级:1-4 接口与多态_day10【接口、多态】&&day11【final、匿名内部类】
day10[接口.多态] 接口三大特征——多态引用类型转换 教学目标写出定义接口的格式写出实现接口的格式说出接口中成员的特点能够说出使用多态的前提条件理解多态的向上转型理解多态的向下转型 day10_ ...
- java类为什么要实现Serializable接口
什么是Serializable接口? 一个对象序列化的接口.一个类只有实现了Serializable接口,它的对象才能被序列化. 什么是序列化? 将对象的状态信息转换为可以存储或传输的形式的过程. 在 ...
- 能够伪装为 win 10 的 kali 体验与中文设置
前言 作为习惯性捣鼓各类操作系统,时长也会使用 Kali 系统,之前看到有新的版本发行 传闻这个版本和之前的版本在系统界面和壁纸上都做了更新,还能一键设置 win 10 的系统界面 对此决定下载体验一 ...
- iOS UIWebView 允许所有三方cookie
前几天项目中用到UIWebView, 而在网页中,用到了多说评论的第三方.但是当我在手机端发表评论的时候,出现禁用第三方cookie,而安卓是没有这种情况的,于是就在找原因.找了很久也没有找到原因.一 ...
- [USACO09OCT]谷仓里的回声Barn Echoes(hush、STL)
https://www.luogu.org/problem/P2957 题目描述 The cows enjoy mooing at the barn because their moos echo b ...
- [Algo] 66. All Valid Permutations Of Parentheses I
Given N pairs of parentheses “()”, return a list with all the valid permutations. Assumptions N > ...
- day18-5个内置方法
# 1. __str__方法: 必须return class Goods: def __str__(self): return 'apple' g = Goods() print(g) #apple, ...
- Normal Probability Plots|outlier
6.4 Assessing Normality; Normal Probability Plots The normal probability plot is a graphical techniq ...
- java后端导出excel
最近工作中需要导出excel.这次机智一点做个笔记,顺便写了一个比较通用的工具类.自然目前不能生成java实体类属性嵌套多次的这种没办法导出了,后续有需要的时候我再改改. 首先,java后端导出exc ...
- StartDT AI Lab | 视觉智能引擎+数据决策引擎——打造商业“智能沙盘”
众所周知,线上商家可以通过淘宝平台的大量前端“埋点”轻松获取商品的加购率.收藏率.转化率.成交额等大量基础信息,甚至商家能够在更精细的层面,获取商品关键字变化或者上新/爆款带来的流量变化数据,更甚者商 ...