Python之argv简明详解
今日看到argv 度娘查找一番,基本都是转载的同一篇文章,总体字数不少但看了之后感觉还是稀里糊涂,自己尝试了一番简单总结如下
当我们需要在命令行执行脚本并需要在执行脚本的同时传入参数给脚本使用,那我们就可以使用到argv,argv是sys模块下的方法用于接收命令行传参,如下进行简单示例创建demo.py脚本计算两个数相加,且我们需要在命令行进行传参:
from sys import argv # 导入模块
# 如果执行的方式错误输出使用方法
USAGE = '''
用法错误,正确方式如下:
python demo.py one two
'''
if len(argv) != 3: # 判断argv的长度,如果脚本被直接执行(argv的值为当前脚本的路径),如果执行命令是python demo.py 加两个参数(argv的长度就为3(以此类推))
print(USAGE) # 如果传入的参数不足,输出正确用法
exit(1) # 异常退出(下面的代码将不会被执行)
script_name, one, two = argv # 将传入的参数赋值进行使用
print(f'你执行的脚本是:{script_name},') # 输出脚本名称
print(f'相加的结果是:{float(one) + float(two)}') # 输出结果
当我们直接在命令行执行,不传进行参或传参数量不正确时:
D:\xuexi\python>python demo.py
用法错误,正确方式如下:
python demo.py one two
正确传参执行结果:
D:\xuexi\python>python demo.py 6 6
你执行的脚本是:demo.py,
相加的结果是:12.0
可以看到argv用法就是获取在命令行执行脚本时python命令后跟的所有参数
Python之argv简明详解的更多相关文章
- Python之yield简明详解
yield在Python中被称之为生成器(只能在函数中使用),他的作用是将函数中每次执行的结果以类似元组的形式保存起来一遍后续使用. 什么是生成器? 通过列表生成式,我们可以直接创建一个列表.但是,受 ...
- python之sys模块详解
python之sys模块详解 sys模块功能多,我们这里介绍一些比较实用的功能,相信你会喜欢的,和我一起走进python的模块吧! sys模块的常见函数列表 sys.argv: 实现从程序外部向程序传 ...
- python之OS模块详解
python之OS模块详解 ^_^,步入第二个模块世界----->OS 常见函数列表 os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows ...
- python中threading模块详解(一)
python中threading模块详解(一) 来源 http://blog.chinaunix.net/uid-27571599-id-3484048.html threading提供了一个比thr ...
- Python数据类型及其方法详解
Python数据类型及其方法详解 我们在学习编程语言的时候,都会遇到数据类型,这种看着很基础也不显眼的东西,却是很重要,本文介绍了python的数据类型,并就每种数据类型的方法作出了详细的描述,可供知 ...
- python引用和对象详解
python引用和对象详解 @[马克飞象] python中变量名和对象是分离的 例子 1: a = 1 这是一个简单的赋值语句,整数 1 为一个对象,a 是一个引用,利用赋值语句,引用a指向了对象1. ...
- Python中time模块详解
Python中time模块详解 在平常的代码中,我们常常需要与时间打交道.在Python中,与时间处理有关的模块就包括:time,datetime以及calendar.这篇文章,主要讲解time模块. ...
- Python 列表(List)操作方法详解
Python 列表(List)操作方法详解 这篇文章主要介绍了Python中列表(List)的详解操作方法,包含创建.访问.更新.删除.其它操作等,需要的朋友可以参考下 列表是Python中最基本 ...
- Python模块调用方式详解
Python模块调用方式详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其 ...
随机推荐
- java.lang.IllegalStateException: Ambiguous mapping found
原因:Controller 出现相同的url映射 参考: https://blog.csdn.net/u010892841/article/details/52136256
- 极客时间|AI技术内参
学习进度: 014 | 精读AlphaGo Zero论文
- Django中模板语音变量forloop
forloop.counter 从1开始 forloop.counter0 从0开始 forloop.revcounter 倒序(表示循环中剩余项的整型变量.) forloop.revcount ...
- JDK源码笔记--Object
public final native Class<?> getClass(); public native int hashCode(); public boolean equals(O ...
- JavaScript-简介、ECMAScript5.0
Javascript简介 web前端有三层: HTML:从语义的角度,描述页面的结构 CSS:从审美的角度,描述样式(美化页面) Javascript:从交互的角度,描述行为(提升用户体验) Java ...
- Linker Scripts3--SECTIONS Command
1.前言 SECTIONS命令告诉链接器如何映射输入段到输出段以及在内存中如何放置输出段,SECTIONS命令的格式如下: SECTIONS { sections-command sections-c ...
- ES6学习笔记三(proxy和reflect)
proxy用法 // 代理 { let obj={ time:'2017-03-11', name:'net', _r: }; let monitor=new Proxy(obj,{ // 拦截对象属 ...
- unity制作背景
- Python os.chdir() 方法
概述 os.chdir() 方法用于改变当前工作目录到指定的路径. 语法 chdir()方法语法格式如下: os.chdir(path) 参数 path -- 要切换到的新路径. 返回值 如果允许访问 ...
- 题解-CodeForces700E Cool Slogans
Problem 题目链接 题目大意:给定一个字符串,每次取出出现至少两次的子串替换原串,问最多能替换多少次,输出答案加一(字符串长为\(2×10^5\)) Solution 前置技能:SAM.线段树合 ...