博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python杂谈 | (15) 使用Pycharm执行带命令行参数的脚本
阅读量:4038 次
发布时间:2019-05-24

本文共 1058 字,大约阅读时间需要 3 分钟。

给python脚本添加命令行参数主要有三种方式:argparse、Fire工具、sys.argv。

目录


1. argparse

import argparseparser = argparse.ArgumentParser(description='Options')parser.add_argument('-folds', default=9, type=int,                    help="num of folds") #9折交叉验证parser.add_argument('-bs', default=128, type=int,                    help="batch size")opt = parser.parse_args()print(opt.folds)

上面的脚本如果直接在Pycharm中执行的话,会输出默认值default。

如果想传入新的参数值,一种方式是直接修改脚本中相应参数的default,比较暴力;另一种方式是从命令行传入新的参数值,可以直接打开命令行窗口,执行脚本 python a.py -folds=100。

还可以在Pycharm中,设置命令行参数,这样就可以在Pycharm集成环境中运行了,而且脚本使用的是新的参数:

点击右下角的apply即可,此时在Pycharm中运行脚本,就可以使用命令行参数了。

 

2. Fire

Fire工具的安装和使用,详情可以查看我的另一篇博客:。

简而言之,就是使用Fire工具后,在命令行执行脚本时,可以指定执行脚本中的某个函数,然后以字典的形式,给这个函数传递参数:

def predict(**kwargs):    pass

命令行执行: 

python a.py predict --model FastText

上面的命令执行a.py中的predict函数,model参数使用的是FastText。

直接在Pycharm中执行a.py不会有结果,需要像之前一样,先设置参数,再使用Pycharm执行:

 

3. sys.argv

import sysprint(sys.argv[0]) #当前执行的脚本名称print(sys.argv[1]) #脚本后跟的命令行参数#...还可以添加多个命令行参数

可以在命令行执行该脚本,在后面添加参数。

如果直接在Pycharm中执行会报错,因为此时并没有argv[1]这个参数,访问越界。可以像之前一样,先设置参数,再使用Pycharm执行:

 

 

 

转载地址:http://vysdi.baihongyu.com/

你可能感兴趣的文章
Intellij IDEA启动优化,让开发的感觉飞起来
查看>>
使用 Springboot 对 Kettle 进行调度开发
查看>>
如何优雅的编程,lombok你怎么这么好用
查看>>
一文看清HBase的使用场景
查看>>
除了负载均衡,Nginx还可以做很多,限流、缓存、黑白名单
查看>>
解析zookeeper的工作流程
查看>>
搞定Java面试中的数据结构问题
查看>>
慢慢欣赏linux make uImage流程
查看>>
linux内核学习(7)脱胎换骨解压缩的内核
查看>>
以太网基础知识
查看>>
慢慢欣赏linux 内核模块引用
查看>>
kprobe学习
查看>>
慢慢欣赏linux phy驱动初始化2
查看>>
慢慢欣赏linux CPU占用率学习
查看>>
2020年终总结
查看>>
linux内核学习(4)建立正式内核的页式内存映射, 以x86 32位模式为例
查看>>
Homebrew指令集
查看>>
React Native(一):搭建开发环境、出Hello World
查看>>
React Native(二):属性、状态
查看>>
JSX使用总结
查看>>