我的编程空间,编程开发者的网络收藏夹
学习永远不晚

向python脚本传递参数

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

向python脚本传递参数

import sys

print sys.argv[0]

sys.argv[0]是python脚本的名字;

下面的例子是一个用来提取文本log.txt中含有匹配字符串的文本行,匹配字符串的字符串当作参数传递给python脚本。

#!/usr/bin/env python

import sys 

import re

f = open("log.txt", "rb")

info = open("info.txt", "ab")

for line in f.readlines():

    if re.search(sys.argv[1], line):

        info.write(line)

info.close()

f.close()


Python文件内部接收参数用:

sys.argv

sys.argv[0]:是python脚本名

sys.arg[1]及以后各项:是接收的参数


#! /bin/python  

import sys  

for arg in sys.argv:  

    print arg  


需要模块:sys

参数个数:len(sys.argv)


脚本名:    sys.argv[0]


参数1:     sys.argv[1]


参数2:     sys.argv[2]


test.py


import sys

print "脚本名:", sys.argv[0]

for i in range(1, len(sys.argv)):

    print "参数", i, sys.argv[i]

 

>>>python test.py hello world


脚本名:test.py

参数 1 hello

参数 2 world



python中使用命令行选项:

例如我们需要一个convert.py脚本。它的作用是处理一个文件,并将处理后的结果输出到另一个文件中。

要求该脚本满足以下条件:

1.通过-i -o选项来区别参数是输入文件还是输出文件.

>>> python convert.py -i inputfile -o outputfile


2.当不知道convert.py需要哪些参数时,用-h打印出帮助信息


>>> python convert.py -h


getopt函数原形:

getopt.getopt(args, options[, long_options])


import sys, getopt


opts, args = getopt.getopt(sys.argv[1:], "hi:o:")

input_file=""

output_file=""

for op, value in opts:

    if op == "-i":

        input_file = value

    elif op == "-o":

        output_file = value

    elif op == "-h":

        usage()

        sys.exit()


代码解释:

a) sys.argv[1:]为要处理的参数列表,sys.argv[0]为脚本名,所以用sys.argv[1:]过滤掉脚本名。


b) "hi:o:": 当一个选项只是表示开关状态时,即后面不带附加参数时,在分析串中写入选项字符。


当选项后面是带一个附加参数时,在分析串中写入选项字符同时后面加一个":"号


所以"hi:o:"就表示"h"是一个开关选项


"i:"和"o:"则表示后面应该带一个参数


c) 调用getopt函数。函数返回两个列表:opts和args。


opts为分析出的格式信息。args为不属于格式信息的剩余的命令行参数。


opts是一个两元组的列表。每个元素为:(选项串,附加参数)。如果没有附加参数则为空串''。


getopt函数的第三个参数[, long_options]为可选的长选项参数,上面例子中的都为短选项(如-i -o)

长选项格式举例:

--version

--file=error.txt

让一个脚本同时支持短选项和长选项

getopt.getopt(sys.argv[1:], "hi:o:", ["version", "file="])


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

向python脚本传递参数

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

向python脚本传递参数

import sysprint sys.argv[0]sys.argv[0]是python脚本的名字;下面的例子是一个用来提取文本log.txt中含有匹配字符串的文本行,匹配字符串的字符串当作参数传递给python脚本。#!/usr/bin
2023-01-31

Shell脚本传递参数的方法对比

这篇文章主要介绍“Shell脚本传递参数的方法对比”,在日常操作中,相信很多人在Shell脚本传递参数的方法对比问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Shell脚本传递参数的方法对比”的疑惑有所帮助!
2023-06-09

怎么在Shell脚本中通过参数名传递参数

这期内容当中小编将会给大家带来有关怎么在Shell脚本中通过参数名传递参数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。#!/bin/bashwhile getopts i:o:p:s:t: OPT; d
2023-06-09

Python脚本文件外部传递参数的处理方法

目录前言一、流文本处理二、argparse 模块三、argv 列表四、argv + argparse前言 我们写的 Python 脚本需要修改参数,当我们将脚步上传到服务器或者给不会编程的人用时,会比较不方便,如果直接可以在外部指定参数,会
2022-06-02

Shell脚本函数传递参数的实现方法

如何传递参数到Shell脚本函数 通常,在其他脚本语言中,您可以将参数和参数作为function_name(parameter1, parameter2,…)传递给函javascript数,这在shell脚本函数中不支持。在s
2022-07-29

Shell脚本通过参数名传递参数的实现代码

平常在写shell脚本都是用$1,$2…这种方式来接收参数,然而这种接收参数的方式不但容易忘记且不易于理解和维护。linux常用的命令都可指定参数名和参数值,然而我们怎样才能给自己的shell脚本也
2022-06-04

Shell脚本传递参数的3种方法比较

#!/bin/bash #extracting command text_text_text_line options as parametershelp_info(){echo "NAME"echo "t$0"echo "SYNOPSIS
2022-06-04

shell中脚本参数传递的方法有哪些

这篇文章主要介绍了shell中脚本参数传递的方法有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。方式一:$0,$1,$2..采用$0,$1,$2..等方式获取脚本命令行传
2023-06-09

利用Python脚本实现传递参数的三种方式分享

使用python脚本传递参数在实际工作过程中还是比较常用。这篇文章为大家总结了三个常用的方式,感兴趣的小伙伴可以跟随小编一起学习一下
2022-12-08

详解shell中脚本参数传递的两种方式

方式一:$0,$1,$2.. 采用$0,$1,$2..等方式获取脚本命令行传入的参数,值得注意的是,$0获取到的是脚本路径以及脚本名,后面按顺序获取参数,当参数超过10个时(包括10个),需要使用${10},${11}....才能获
2022-06-04

Python3中怎么向zip()函数传递参数

这篇文章主要讲解了“Python3中怎么向zip()函数传递参数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python3中怎么向zip()函数传递参数”吧!基础知识首先,我们来介绍一些基
2023-07-05

nginx反向代理如何传递参数

在Nginx中,可以使用proxy_set_header指令来传递参数。可以在location配置块中使用proxy_set_header指令来设置HTTP请求的头部信息。例如,假设要将请求转发到http://backend-server
2023-10-22

python list 参数传递方式

定义一个方法,接收一个 id参数和一个 list 参数def test(id, ids=[]): if id: ids.append(id) print idstest(id=1)test(id=2)打印结果[1]
2023-01-31

Python 函数作为参数传递

#map()的功能是将函数对象依次作用于表的每一个元素,每次作用的结果储存于返回的表re中。#map通过读入的函数(这里是lambda函数)来操作数据def test_func_map():    re = map((lambda x: x
2023-01-31

Python函数参数传递机制

最近在写代码的过程中,发现Python参数传递不是很明白。Python确实很灵活,但是灵活的后果就是要花更多的时间去研究。废话不多说,始めましょう!!!Python参数传递有一下几种方式:1:位置参数Fun(arg1,arg2,...)2:
2023-01-31

python黑魔法之参数传递

我们都听说,python世界里面,万物皆对象。 怎么说万物皆对象呢?最常见的:> class A: pass > a = A()我们说a是一个对象。 那么既然是万物了,其实A也是对象。3 也是对象。True 也是对象。"hello" 也是对
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录