python sys.argv用法

因为是看书自学的python,开始后不久就遇到了这个引入的模块函数,且一直在IDLE上编辑了后运行,试图从结果发现它的用途,然而结果一直都是没结果,也在网上查了许多,但发现这个问题的比较详细的解释只有一个版本,大部分都是转裁和复制的。给的都是简明python教程上那个一长串代码的例子,说看了就明白了,可我看得晕头转向的还是没真正明白,只知道“sys.argv[0]表示代码本身文件路径”这点,其实还是不明其意。后来经过大量努力,多方求教才真正明悟了,谨以记录和分享,希望能从另一个角度给同在求索过程中的同学一点启发。

  sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个“外部”很关键,所以那些试图从代码来说明它作用的解释一直没看明白。因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可以看作是一个列表,所以才能用[]提取其中的元素。其第一个元素是程序本身,随后才依次是外部给予的参数。

下面我们通过一个极简单的test.py程序的运行结果来说明它的用法。

import sys

a=sys.argv[0]

print(a)

将test.py保存在c盘的根目录下。

在程序中找到 ‘运行’,打开,输入cmd回车进入控制台命令窗口,先输入cd c:\   (作用是将命令路径改到c盘根目录),然后输入test.py运行我们刚刚写的程序:

得到的结果是C:\test.py,这就是0指代码(即此.py程序)本身的意思。

然后我们将代码中0改为1 :

a=sys.argv[1]

保存后,再从控制台窗口运行,这次我们加上一个参数,输入:test.py what

得到的结果就是我们输入的参数what,看到这里你是不是开始明白了呢。

那我们再把代码修改一下:

a=sys.argv[2:]

保存后,再从控制台窗台运行程序,这次多加几个参数,以空格隔开:

test.py a b c d e f

得到的结果为[‘b’, ’c’, ’d’, ’e’, ’f’]

应该大彻大悟了吧。Sys.argv其实就是一个列表,里边的项为用户输入的参数,关键就是要明白这参数是从程序外部输入的,而非代码本身的什么地方,要想看到它的效果就应该将程序保存了,从外部来运行程序并给出参数。

时间: 2024-08-10 01:53:35

python sys.argv用法的相关文章

python sys.argv[]用法

sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始,以下两个例子说明: 1.使用sys.argv[]的一简单实例:以下是sample1.py文件: [python] view plain copy import sys,os print sys.argv os.system(sys.argv[1]) os.system("bash command") 运行shell命令,直接显示,模拟一个人的操作, 这个例子os.system接收命

Python:sys.argv[]用法

sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始. arg[1]表示第一个命令行参数 arg[1][2:] 表示取第一个命令行参数,但是去掉前两个字节 比如命令行参数为   “--help” ,就去掉“--”,执行"help"参数. 比如当我们执行 python hello.py we are boys 时 Python为我们把它存储在sys.argv变量中. 脚本的名称总是sys.argv列表的第一个参数. 所以这里 sys.a

sys.argv用法

argv是在脚本内部使用,旨在接受命令传参 比如,一个脚本argv.py,代码里面有,sys.argv[1],,sys.argv[2],那么运行这个脚本时,必须在后面跟两个参数,用空格隔开,如:python argv.py hello world 示例如下: 首先编辑脚本 argv.py #coding:gbk import sys print '文件名:',sys.argv[0] print 'one:',sys.argv[1] print 'two:',sys.argv[2] 在cmd中运行

python基础之 sys.argv[]用法

sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始. arg[1]表示第一个命令行参数 arg[1][2:] 表示取第一个命令行参数,但是去掉前两个字节 比如命令行参数为   “--help” ,就去掉“--”,执行"help"参数. 以下代码来自简明Python教程. 这里如果有sys.arg[0]则表示cat.py [python] view plaincopy #!/usr/bin/python # Filename: cat

Python的sys.argv用法

import sys a = sys.argv[:] print("输入的参数为:", a) def train_start(start_time, end_time, select_equipment): print('start_time = ', start_time) print("end_time = ", end_time) print('select_time = ', select_equipment) ids = select_equipment.

sys.argv[]用法-转载

sys.argv变量是一个字符串的列表.特别地,sys.argv包含了命令行参数 的列表,即使用命令行传递给你的程序的参数. 这里,当我们执行python using_sys.py we are arguments的时候,我们使用python命令运行using_sys.py模块,后面跟着的内容被作为参数传递给程序.Python为我们把它存储在sys.argv变量中.记住,脚本的名称总是sys.argv列表的第一个参数.所以,在这里,'using_sys.py'是sys.argv[0].'we'是

python sys.argv

Sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始,以下两个例子说明: 1.使用sys.argv[]的一简单实例, [python] view plain copy import sys,os os.system(sys.argv[1]) 这个例子os.system接收命令行参数,运行参数指令,保存为sample1.py,命令行带参数运行sample1.py notepad,将打开记事本程序. 2.这个例子是简明python教程上的,明白它之

[Python] sys.argv命令行参数传入

书上一道题需要实现功能"根据账号查询密码, 复制密码到剪贴板". 账号和密码储存在代码字典中. 问题描述: 作为Python新手从代码(如下)看只知道: 1. sys.argv初始包含一行文件路径. 2. 需要将待查询的账号传入sys.argv. 怎么操作呢? #! python3 #pw.py - An inssecure password locker program. #Run this program in CMD, parameter (account) load after

python sys.path用法

http://blog.csdn.net/chenjinyu_tang/article/details/6732053 里面有个 sys.path属性.他是一个list.默然情况下python导入文件或者模块的话,他会先在sys.path里找模块的路径.如果没有的话, 程序就会报错. 所以我们一般自己写程序的话.最好把自己的模块路径给加到当前模块扫描的路径里,eg: sys.path.append('你的模块的名称'),这样程序就不会 因为找不到模块而报错..