当前位置: 首页 > news >正文

做网站上时需要3d预览功能如何做google推广

做网站上时需要3d预览功能,如何做google推广,搭建源码下载站网站,做单平台网站制作菜鸟教程《Python 3 教程》笔记 EX 01:命令行参数 1 命令行参数1.1 基础用法1.2 getopt 模块1.2.1 getopt.getopt 方法1.2.2 getopt.gnu_getopt 方法1.2.3 Exception getopt.GetoptError1.2.4 exception getopt.error 笔记带有个人侧重点,不追求面面俱到…

菜鸟教程《Python 3 教程》笔记 EX 01:命令行参数

  • 1 命令行参数
    • 1.1 基础用法
    • 1.2 getopt 模块
      • 1.2.1 getopt.getopt 方法
      • 1.2.2 getopt.gnu_getopt 方法
      • 1.2.3 Exception getopt.GetoptError
      • 1.2.4 exception getopt.error

笔记带有个人侧重点,不追求面面俱到。

1 命令行参数

出处: 菜鸟教程 - Python3 命令行参数

1.1 基础用法

Python 中可以所用 syssys.argv 来获取命令行参数:

注意: sys.argv[0] 为脚本名。

实例:

test.py 文件:

#!/usr/bin/python3import sysprint ('参数个数为:', len(sys.argv), '个参数。')
print ('参数列表:', str(sys.argv))
print ('脚本名:', str(sys.argv[0]))

运行结果:

>> python test.py arg1 arg2 arg3
参数个数为: 4 个参数。
参数列表: ['test.py', 'arg1', 'arg2', 'arg3']
脚本名: test.py

1.2 getopt 模块

getopt 模块是专门处理命令行参数的模块,用于获取命令行选项和参数。该模块提供了两个方法及一个异常处理来解析命令行参数。

1.2.1 getopt.getopt 方法

语法:

getopt.getopt(args, shortopts, longopts=[])

参数:

  • args:要解析的命令行参数列表;
  • shortopts:接收字符串,解析为“短选项”。shortopts 后的冒号 : 表示该选项必须有附加的参数,不带冒号表示该选项不附加参数;
  • longopts:接收列表,解析为“长选项”。longopts 后的等号 = 表示如果设置该选项,必须有附加的参数,否则就不附加参数。

返回值:

  • opts:由元组 (opt, value) 组成的列表。例如输入"-h -i inputfile -o outputfile" 返回值就是 [(‘-h’, ‘’), (‘-i’, ‘inputfile’), (‘-o’, ‘outputfile’)];
  • args:参数(value)列表,包含除了长选项和短选项以及各自选项的参数以外的其他未知的参数。

注意:

  1. 长选项和短选项以及各自的参数都会按先后次序放在 opts 中;
  2. 返回的 opt 里面,--- 都被保留下来了;
  3. 长选项没有写完的时候,会被自动补全。比如用户输入的是 --u,通过 getopt 会被自动补全--user

实例:

# test.pyimport sys
import getoptdef site():argv = sys.argv[1:]  # 以空格分割的字符串列表try:opts, args = getopt.getopt(argv, "abn:u:", ["name=", "url="])# 长选项模式except Exception as err:print(err)print("opts: ", opts)print("args: ", args)if __name__ == "__main__":site()

输出:

1)正常使用

>>> python test.py -a -b -u item1 -n item2 --n item3 --url item4
opts:  [('-a', ''), ('-b', ''), ('-u', 'item1'), ('-n', 'item2'), ('--name', 'item3'), ('--url', 'item4')]
args:  []

2)只输入参数

>>> python test.py item1 item2
opts:  []
args:  ['item1', 'item2']

3)只输入选项

>>> python test.py -a
opts:  [('-a', '')]
args:  []>>> python test.py -n
option -n requires argument  # 报错

4)错误输入选项

>>> python test.py -
opts:  []
args:  ['-']>>> python test.py --
opts:  []
args:  []>>> python test.py ---
option --- not recognized  # 报错>>> python test.py -c
option -c not recognized  # 报错>>> python test.py ---b
option ---b not recognized  # 报错>>> python test.py -n-a
opts:  [('-n', '-a')]
args:  []>>> python test.py -a-n
option -- not recognized  # 报错>>> python test.py -a--n
option -- not recognized  # 报错

5)错误输入参数

>>> python test.py -a item
opts:  [('-a', '')]
args:  ['item']>>> python test.py -aitem
option -i not recognized  # 报错>>> python test.py -antem
opts:  [('-a', ''), ('-n', 'tem')]
args:  []>>> python test.py -abntem
opts:  [('-a', ''), ('-b', ''), ('-n', 'tem')]
args:  []>>> python test.py -acntem
option -c not recognized>>> python test.py -n item1 -a item2 --n item3
opts:  [('-n', 'item1'), ('-a', '')]
args:  ['item2', '--n', 'item3']>>> python test.py -n item1 item2 -a
opts:  [('-n', 'item1')]
args:  ['item2', '-a']>>> python test.py item1 item2 -a
opts:  []
args:  ['item1', 'item2', '-a']

总结:欢迎指正、补充

  1. 命令行参数从左到右、依次解析
  2. 一般情况下以空格分割选项和参数,附加参数的短选项后紧跟的参数也可以被解析,例如:-nitem
  3. 解析时,先碰到未定义的选项时,会报错,先碰到多余的参数时,之后的参数都被放入返回值 args 中;
  4. 短选项可以采用 -abn 的样式输入,无附加参数的选项必须在前,否则会报错。

1.2.2 getopt.gnu_getopt 方法

语法:

getopt.gnu_getopt(args, shortopts, longopts=[])

此函数与 getopt() 类似,区别在于它默认使用 GNU 风格的扫描模式。这意味着选项和非选项参数可能会混在一起。getopt() 函数将在遇到非选项参数时立即停止处理选项。

如果选项字符串的第一个字符为 +,或者如果设置了环境变量 POSIXLY_CORRECT,则选项处理会在遇到非选项参数时立即停止。

1.2.3 Exception getopt.GetoptError

当参数列表中出现不可识别的选项或者当一个需要参数的选项未带参数时将引发此异常。此异常的参数是一个指明错误原因的字符串

对于长选项,将一个参数传给不需要参数的选项也将导致引发此异常。(没发现)

msg 和 opt 属性会给出错误消息和关联的选项;如果没有关联到异常的特定选项,则 opt 将为空字符串。

报错 1:

需要参数的选项未带参数。

报错 2:

如果 longopts 为 [‘foo’, ‘frob’],则选项 --fo 将匹配为 --foo,但 --f 将不能得到唯一匹配,因此将引发 GetoptError。

1.2.4 exception getopt.error

GetoptError 的别名,用于向后兼容。

扩展阅读: 《Python 官方文档》:getopt — C 风格的命令行选项解析器

http://www.sczhlp.com/news/18579/

相关文章:

  • 北京海淀建设工程律师哪个好刷关键词排名seo
  • 如何做点对点视频网站最近国际新闻大事20条
  • 宾川网站建设深圳发布最新通告
  • wordpress迁移到thinkphp网站seo诊断分析报告
  • 烟台小学网站建设网络营销网站推广方法
  • 网站一屏做多大有广告位怎么找广告商
  • 柳州网站虚拟主机公司产品推广方案怎么做
  • 现在用JAVA做网站用什么框架株洲seo优化
  • 易路观点:“强制社保”背后,企业如何做好合规与成本兼顾这道题?
  • E: Unable to locate package ros-humble-moveit
  • 子序列自动机
  • 电流互感器的应用与技术解析
  • 网站排名优化培训课程上海最近3天疫情情况
  • 网站建设私单最近一周新闻大事摘抄2022年
  • 如何开个微信公众号seo网站推广计划
  • 网站规划有什么意义青岛网站运营
  • 宁波公司网站建立网站制作建设
  • 哪个网站可以做医学基础知识题营销云
  • AI这东西,真没你想的那么难,普通人这样上手最快!
  • 【东北大学主办】第十届机械制造技术与材料工程国际学术会议(MMTME 2025)
  • OpenCV入门(22):图像处理之噪声
  • 网站后台更新怎么做网站搜索引擎优化方法
  • 海口网站建设介绍外贸营销系统
  • 一个微信可以做两个网站支付宝关于新品牌的营销策划
  • 淘宝联盟如何做网站系统推广公司
  • wordpress配置ip访问不了短视频搜索优化
  • 阿里巴巴做网站的做品牌推广应该怎么做
  • 自己做的网站可以有多个前端吗腾讯云域名购买
  • 手机创建网站网上接单平台有哪些
  • 国际网站如何推做推广百度知道官网登录入口