鱼C论坛

 找回密码
 立即注册
查看: 2450|回复: 4

[已解决]关于 collections模块

[复制链接]
发表于 2018-11-3 07:23:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
# 构造命令行参数:
parser = argparse.ArgumentParser()
parser.add_argument('-u', '--user')
parser.add_argument('-c', '--color')
namespace = parser.parse_args()
command_line_args = { k: v for k, v in vars(namespace).items() if v }



下面两行看不懂 帮忙解释下!!!谢谢
namespace = parser.parse_args()#这个也看不懂
command_line_args = { k: v for k, v in vars(namespace).items() if v }这一行看不懂 请帮忙解释下!

最佳答案
2018-11-3 08:18:38
namespace = parser.parse_args()  parser模块好像没有这个函数
下面是字典推导式,把vars(namespace)字典中非0非空非假的项目提取出来组成新字典
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-11-3 08:18:38 | 显示全部楼层    本楼为最佳答案   
namespace = parser.parse_args()  parser模块好像没有这个函数
下面是字典推导式,把vars(namespace)字典中非0非空非假的项目提取出来组成新字典
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-11-3 10:01:25 | 显示全部楼层
塔利班 发表于 2018-11-3 08:18
namespace = parser.parse_args()  parser模块好像没有这个函数
下面是字典推导式,把vars(namespace)字典 ...

from collections import ChainMap
import os, argparse

# 构造缺省参数:
defaults = {
    'color': 'red',
    'user': 'guest'
}

# 构造命令行参数:
parser = argparse.ArgumentParser()
parser.add_argument('-u', '--user')
parser.add_argument('-c', '--color')
namespace = parser.parse_args()
command_line_args = { k: v for k, v in vars(namespace).items() if v }

# 组合成ChainMap:
combined = ChainMap(command_line_args, os.environ, defaults)

# 打印参数:
print('color=%s' % combined['color'])
print('user=%s' % combined['user'])
没有任何参数时,打印出默认参数:

$ python3 use_chainmap.py
color=red
user=guest
当传入命令行参数时,优先使用命令行参数:

$ python3 use_chainmap.py -u bob
color=red
user=bob
同时传入命令行参数和环境变量,命令行参数的优先级较高:

$ user=admin color=green python3 use_chainmap.py -u bob
color=green
user=bob
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-11-3 10:05:22 | 显示全部楼层
塔利班 发表于 2018-11-3 08:18
namespace = parser.parse_args()  parser模块好像没有这个函数
下面是字典推导式,把vars(namespace)字典 ...

谢谢  如没有parser这个模块 应该会报错的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-3 10:05:52 | 显示全部楼层
好吧,那你自己去百度那个模块就行了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-22 21:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表