Python获取命令行参数

sys.argv[]

 

包含命令行参数的字符串列表,通过下标获取参数。

 

例如:

 

?
#!/usr/bin/python
# Filename: using_sys.py
  
import sys
  
print 'The command line arguments are:'
for i in sys.argv:
    print i
  
print '\n\nThe PYTHONPATH is', sys.path, '\n'<BR><BR>print argv[1]

 

 

 

?
argv[0]表示文件本身路径。 当然,agv[]也可存放多个值

 

getopt

 

用于抽出命令行选项和参数,也就是sys.argv。命令行选项使得程序的参数更加灵活。支持短选项模式和长选项模式。

 

 

 

?
import getopt
#python scriptname.py -f 'hello' --directory-prefix=/home -t --form    at 'a' 'b'
shortargs = 'f:t'
longargs = ['directory-prefix=', 'format', '--f_long=']
opts, args = getopt.getopt( sys.argv[1:], shortargs, longargs )<BR>

 

getopt函数的格式是getopt.getopt ( [命令行参数列表], "短选项", [长选项列表] )
短选项名后的冒号(:)表示该选项必须有附加的参数。
长选项名后的等号(=)表示该选项必须有附加的参数。
返回opts和args。

 

opts是一个参数选项及其value的元组( ( '-f', 'hello'), ( '-t', '' ), ( '--format', '' ), ( '--directory-prefix', '/home' ) )

 

args是一个除去有用参数外其他的命令行输入 ( 'a', 'b' )

 

然后遍历opts便可以获取所有的命令行选项及其对应参数了。

 

遍历opts可以获取所有命令的选项及参数,

 

?
for opt, val in opts:
    if opt in ( '-f', '--f_long' ):
        pass
    if ....

 

 分析不同宣传项参数,做不同处理。 一般,选项参数列表会被打印作为帮助选项。

 

转载于:https://www.cnblogs.com/secbook/archive/2012/11/26/2789256.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/548230.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

static用法

1.在函数内表示静态局部变量,作用域为静态存储区 2.在函数外全局区表示该标识符限定在本文件中可见 3.在类成员中表示静态成员

最牛X得“高考”作文

作文要求&#xff1a; "细雨湿衣看不见&#xff0c;闲花落地听无声"是唐朝诗人刘长卿在《别严士元》中的诗句。 曾经有人这样理解这句诗&#xff1a;1、这是歌颂春天的美好意境。2、闲花、细雨表达了不为人 知的寂寞。3、看不见、听不见不等于无所作为&…

结构体对齐

//按1个字节对齐 #pragma pack(push,1) struct MyStruct { std::uint32_t a; std::uint16_t b; }; #pragma pop size_t data_size sizeof(MyStruct); //占6个字节

SVN操作指南

http://blog.csdn.net/happy4nothing/article/details/376604#_Toc101751894

高性能服务器模型分类

高性能服务器的几种模型概念&#xff1a; actor模型&#xff1a; 实体之经过消息通信&#xff0c;各自处理本身的数据&#xff0c;可以实现这并行。 这种方式&#xff0c;有点相似rpc。 skynet是actor模型(听说是&#xff0c;具体没研究过) reactor模型&#xff1a; 1 向…

[人生百态]爱的样子

爱是只要一看到你,心里就觉得被裝的满满的爱是在看不到你的時候,默默想着你,默默念着你爱是听到你的声音就会觉得空气都是甜的爱是一闭上眼,浮现的全部是你的影子爱是一睁开眼,就希望你站在我面前爱是喜欢远远的,偷偷的凝视着你的身影爱是喜欢看着你的眼睛,因为这样的你眼里才只…

extern “C“解决链接问题

extern "C" 的作用是让 C 编译器将 extern "C" 声明的代码当作 C 语言代码处理&#xff0c;可以避免 C 因符号修饰导致代码不能和C语言库中的符号进行链接的问题。 extern "C" 使用 #ifdef __cplusplus extern "C" { #endifvoid *me…

union区别

联合&#xff08;union&#xff09;是一种节省空间的特殊的类&#xff0c;一个 union 可以有多个数据成员&#xff0c; 但是在任意时刻只有一个数据成员可以有值。当某个成员被赋值后其他成员变为未定义状态。 联合有如下特点&#xff1a; 默认访问控制符为 public 可以含有…

大小端判断

int i 0x12345678; char value *(char*)&i; if (*(char*)&i 0x000000078) { std::cout << "小端" << std::endl; }else { std::cout << "大端" << std::endl; }

推荐系统相关资源汇总

2019独角兽企业重金招聘Python工程师标准>>> 为了更好的学习推荐系统&#xff0c;本博文将个人知道的关于推荐系统的相关资源整理汇总&#xff0c;拿出来与大家分享。本博文每月更新一次&#xff0c;长期维护&#xff0c;如果你有好的关于推荐系统的资源&#xff0c…

tcp工作原理

TCP 三次握手建立连接 TCP 建立连接全过程解释 客户端发送 SYN 给服务器&#xff0c;说明客户端请求建立连接&#xff1b;服务端收到客户端发的 SYN&#xff0c;并回复 SYNACK 给客户端&#xff08;同意建立连接&#xff09;&#xff1b;客户端收到服务端的 SYNACK 后&#xf…

物联网碰到云计算会怎么样?

如果提起物联网和云计算&#xff0c;熟悉安防行业的朋友们可能都不会太过陌生。没错&#xff0c;就是这两项新生技术的问世&#xff0c;给我们安防行业带来了许多全新的理念。而在不少人的眼中&#xff0c;物联网和云计算在潜意识中也是有不少联系的&#xff0c;但是如果要细细…

可变参数使用

#include<iostream> //c17写法&#xff0c;折叠表达式 template<typename...args> auto sum(args&&...types) { //一元右折 //return (types ...); //一元左折 //return (...types); //二元左折 //return(0 ... types); /…

CentOS FTP安装及配置

CentOS FTP安装及配置 LINUX下实现FTP服务的软件很多,最常见的有vsftpd,Wu-ftpd和Proftp等.Red Hat Enterprise Linux中默认安装的是vsftpd.访问FTP服务器时需要经过验证,只有经过了FTP服务器的相关验证,用户才能访问和传输文件.vsftpd提供了3种ftp登录形式: (1)anonymous(…

std::optional

c17之后引入optional&#xff0c;其实就是把boost库里面实现机制引入进来.作用:良好地处理构造开销高昂的对象&#xff0c;并更加可读.有点像指针的用法.个人认为&#xff0c;没啥鸟用&#xff0c;和用指针没啥区别 例子: #include <optional> #include <vector>…

vector删除元素

下面来感受下c11之后的魔力: #include <iostream> #include <vector> #include <algorithm> int main() { std::vector<int>vec{ 1,2,3,4,5 }; //vec.erase( //std::remove_if(vec.begin(), vec.end(), [](int value){return value 0;}))…

[置顶] 任务三 主题、样式

【知识点】 Web设计的核心思想 添加主题 添加样式表 窗体文件中应用主题 【操作步骤】 一、右击网站Web→添加ASP.NET文件夹→主题&#xff1b;添加主题文件夹 二、重命名主题文件夹名称为Default 三、右击主题文件夹Default→添加新项→样式表&#xff0c;添加样式表…

【FPGA】Verilog 实践:优先级编码器 | Priority encoder

0x00 优先级编码器&#xff08;Priority encoder&#xff09; "能将多个二进制输入压缩成更少数目输出的电路或算法的编码器" 优先级编码器是一种编码器&#xff0c;它考虑了两个或更多输入位同时变为 1 但没有收到输入的情况。当输入进来时&#xff0c;优先级编码…

智能指针分配动态数组

auto ptr_arr std::make_shared<int[]>(); std::unique_ptr<int[]> up1(new int[10]()); //C14以后语法 auto up2 std::make_unique<A[]>(3); auto sp3(std::shared_ptr<A[]>(new A[3])); //#include <boost/make_shared.hpp> auto b_ptr_…

php基础语法知识笔记(一)

共享一份我自己学习php基础语法知识的笔记&#xff0c;这是第一弹&#xff0c;明天共享第二弹。 1.判断php短标记<??>是否适用&#xff0c;查看php配置文件php.ini中的"short_open_tag On"2.官方的标记<?php?> &#xff0c; <script language&q…