pythonsys.argv[]用法
- 格式:doc
- 大小:21.00 KB
- 文档页数:2
Python学习笔记:sys.argv⼊参⼀、背景执⾏某个 .py 代码⽂件的时候,需要传⼊不同的参数。
例如:根据当天的⽇期通过 sh 脚本传参,便可利⽤ sys.argv ⽅便实现。
⼆、解释sys.argv[] 是⼀个从程序外部获取参数的桥梁,即⾮ .py ⽂件本⾝的参数。
外部所获取的参数可以是多个,因此获得的是⼀个列表(list),使⽤ [] 提取其中的元素。
sys.argv[0] 代表代码本⾝⽂件路径,随后才依次是外部给予的参数。
三、实操通过⼀个简单的 sys_argv.py ⽂件的运⾏结果进⾏说明:# sys_argv.py ⽂件import sysname = sys.argv[0]print(name)⽂件保存在某个⽬录下,例如:D盘根⽬录。
打开”运⾏“,输⼊ cmd 并切换⾄D盘 cd D:\ ,执⾏ sys_argv.py ⽂件。
D:\>python sys_argv.pysys_argv.py # 输出⽂件本⾝名字修改为参数1,并保存:import sysname = sys.argv[1]print(name)并执⾏:D:\>python sys_argv.py 100100 # 输⼊的参数再修改代码为:import sysname = sys.argv[2:]print(name)并执⾏:D:\>python sys_argv.py 100 200 300 400 500['200', '300', '400', '500']四、结论sys.argv 其实就是⼀个列表,第⼀个元素为⽂件本⾝,后⾯的为⽤户输⼊的多个或⼀个参数。
必须保存程序⽂件,再通过外部进⾏执⾏。
参考链接:。
Pythonsys模块常⽤⽅法解析这篇⽂章主要介绍了Python sys模块常⽤⽅法解析,⽂中通过⽰例代码介绍的⾮常详细,对⼤家的学习或者⼯作具有⼀定的参考学习价值,需要的朋友可以参考下旨在记录 python sys 模块的常⽤⽅法sys 模块常⽤⽅法及属性sys.argv: 接收外部传递的参数。
sys.exit([arg]): 程序退出,arg 为 0 正常退出。
sys.getdefaultencoding(): 获取系统当前编码,⼀般默认为ascii。
sys.setdefaultencoding(): 设置系统默认编码,执⾏dir(sys)时不会看到这个⽅法,在解释器中执⾏不通过,可以先执⾏reload(sys),在执⾏ setdefaultencoding('utf8'),此时将系统默认编码设置为utf8。
(见设置系统默认编码)sys.getfilesystemencoding(): 获取⽂件系统使⽤编码⽅式,Windows下返回'mbcs',mac下返回'utf-8'.sys.platform: 获取当前系统平台。
sys.stdin、sys.stdout、sys.stderr: 标准输⼊、标准输出、标准错误,包含与标准I/O 流对应的流对象。
sys.modules: ⼀个全局字典,该字典是python启动后就加载在内存中。
每当程序员导⼊新的模块,sys.modules将⾃动记录该模块。
当第⼆次再导⼊该模块时,python会直接到字典中查找,从⽽加快了程序运⾏的速度。
它拥有字典所拥有的⼀切⽅法。
sys.path : 获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import 时正确找到。
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
Python中sys模块功能与⽤法实例详解本⽂实例讲述了Python中sys模块功能与⽤法。
分享给⼤家供⼤家参考,具体如下:sys-系统特定的参数和功能该模块提供对解释器使⽤或维护的⼀些变量的访问,以及与解释器强烈交互的函数。
它始终可⽤。
sys.argv传递给Python脚本的命令⾏参数列表。
argv[0]是脚本名称(依赖于操作系统,⽆论这是否是完整路径名)。
如果使⽤-c解释器的命令⾏选项执⾏命令,argv[0]则将其设置为字符串'-c'。
如果没有脚本名称传递给Python解释器,argv[0]则为空字符串。
要循环标准输⼊或命令⾏上给出的⽂件列表,请参阅模块。
sys.byteorder本机字节顺序的指⽰符。
这将具有'big'big-endian(最重要的字节优先)平台和'little'little-endian(最不重要的字节优先)平台的价值。
2.0版本中的新功能sys.builtin_module_names⼀个字符串元组,给出了编译到此Python解释器中的所有模块的名称。
(此信息不以任何其他⽅式提供 - modules.keys()仅列出导⼊的模块。
)sys.call_tracing(func,args )呼叫func(*args),同时启⽤跟踪。
跟踪状态被保存,然后恢复。
这是从调试器从检查点调⽤,以递归调试其他⼀些代码。
sys.copyright包含与Python解释器相关的版权的字符串sys._clear_type_cache()清除内部类型缓存。
类型缓存⽤于加速属性和⽅法查找。
仅在参考泄漏调试期间使⽤该函数删除不必要的引⽤。
此功能仅⽤于内部和专门⽤途。
版本2.6中的新功能。
sys._current_frames()返回⼀个字典,将每个线程的标识符映射到调⽤该函数时该线程中当前活动的最顶层堆栈帧。
请注意,模块中的函数可以在给定这样的帧的情况下构建调⽤堆栈。
python sys用法Python的sys模块是Python标准库中的一个模块,提供了一些与Python解释器和运行环境相关的变量和函数。
sys模块在Python编程中非常常用,可以用来获取命令行参数、控制程序的退出、获取Python解释器的信息等。
sys模块的主要功能可以分为以下几个方面:1. 获取命令行参数sys模块提供了一个名为argv的列表,其中包含了通过命令行传递给Python程序的所有参数。
argv列表的第一个元素是程序本身的名称,从第二个元素开始才是真正的命令行参数。
通过访问argv列表,我们可以获取到这些参数,并根据需要进行相应的处理。
2. 控制程序的退出sys模块中的exit函数可以用来控制程序的退出。
exit函数接受一个可选的退出码作为参数,如果不提供退出码,默认为0,表示正常退出。
通过调用exit函数,我们可以在程序中任意位置终止程序的执行。
3. 获取Python解释器的信息sys模块中的一些变量可以用来获取Python解释器的一些信息,比如版本号、平台类型等。
例如,sys.version变量可以获取当前Python解释器的版本号,sys.platform变量可以获取当前Python 解释器所在的平台类型。
4. 修改默认的标准输入、输出和错误输出sys模块提供了三个变量stdin、stdout和stderr,分别表示标准输入、标准输出和标准错误输出。
通过修改这些变量,我们可以改变程序默认的输入输出行为。
例如,可以将stdout重定向到文件中,或者将stderr重定向到日志文件中。
5. 获取当前模块的信息sys模块中的一些函数可以用来获取当前模块的信息。
例如,通过sys.modules可以获取当前已导入的模块列表,通过sys.path可以获取当前模块的搜索路径。
除了上述功能外,sys模块还提供了其他一些与系统相关的功能,比如获取命令行的大小、获取当前进程的ID等。
总结一下,sys模块是Python标准库中一个非常有用的模块,提供了一些与Python解释器和运行环境相关的变量和函数。
Python标准库之Sys模块使⽤详解sys 模块提供了许多函数和变量来处理 Python 运⾏时环境的不同部分.处理命令⾏参数在解释器启动后, argv 列表包含了传递给脚本的所有参数, 列表的第⼀个元素为脚本⾃⾝的名称.使⽤sys模块获得脚本的参数复制代码代码如下:print "script name is", sys.argv[0] # 使⽤sys.argv[0]采集脚本名称if len(sys.argv) > 1:print "there are", len(sys.argv)-1, "arguments:" # 使⽤len(sys.argv)-1采集参数个数-1为减去[0]脚本名称for arg in sys.argv[1:]: #输出除了[0]外所有参数print argelse:print "there are no arguments!"如果是从标准输⼊读⼊脚本 (⽐如 "python < sys-argv-example-1.py"), 脚本的名称将被设置为空串.如果把脚本作为字符串传递给python (使⽤ -c 选项), 脚本名会被设置为 "-c".处理模块path 列表是⼀个由⽬录名构成的列表, Python 从中查找扩展模块( Python 源模块, 编译模块,或者⼆进制扩展).启动 Python 时,这个列表从根据内建规则, PYTHONPATH 环境变量的内容, 以及注册表( Windows 系统)等进⾏初始化.由于它只是⼀个普通的列表, 你可以在程序中对它进⾏操作,使⽤sys模块操作模块搜索路径复制代码代码如下:print "path has", len(sys.path), "members"sys.path.insert(0, "samples") #将路径插⼊到path,[0]中import samplesys.path = [] #删除path中所有路径import random使⽤sys模块查找内建模块builtin_module_names 列表包含 Python 解释器中所有内建模块的名称复制代码代码如下:def dump(module):print module, "=>",if module in sys.builtin_module_names: #查找内建模块是否存在print "<BUILTIN>"else:module = _ _import_ _(module) #⾮内建模块输出模块路径print module._ _file_ _dump("os")dump("sys")dump("string")dump("strop")dump("zlib")os => C:\python\lib\os.pycsys => <BUILTIN>string => C:\python\lib\string.pycstrop => <BUILTIN>zlib => C:\python\zlib.pyd使⽤sys模块查找已导⼊的模块modules 字典包含所有加载的模块. import 语句在从磁盘导⼊内容之前会先检查这个字典.Python 在处理你的脚本之前就已经导⼊了很多模块.复制代码代码如下:print sys.modules.keys()['os.path', 'os', 'exceptions', '_ _main_ _', 'ntpath', 'strop', 'nt','sys', '_ _builtin_ _', 'site', 'signal', 'UserDict', 'string', 'stat']使⽤sys模块获得当前平台sys.platform 返回当前平台出现如: "win32" "linux2" 等处理标准输出/输⼊标准输⼊和标准错误 (通常缩写为 stdout 和 stderr) 是内建在每⼀个 UNIX 系统中的管道。
Python中的sys模块Python是一门高级编程语言,它的易读易用以及庞大的第三方库使得它成为全球最流行的编程语言之一。
Python的sys模块是Python 标准库中的一个模块,它提供了一些函数和变量,可以访问与Python 解释器关联的变量和函数,以及处理Python解释器的一些行为。
这篇论文将深入介绍sys模块的功能、用法、常见应用场景和优缺点。
1.功能sys模块提供了一些访问Python解释器的变量和函数:sys.argv:传递给Python解释器的参数列表。
sys.exit():退出Python解释器。
sys.path:Python查找模块的路径列表。
sys.modules:Python加载的模块字典。
sys.stdin、sys.stdout和sys.stderr:标准输入、输出和错误流。
sys.platform:Python运行的平台名称。
sys.version:Python解释器的版本信息。
2.用法2.1访问命令行参数在Python中,我们可以使用sys.argv来访问传递给解释器的命令行参数。
这个变量是一个列表,其中包含解释器的名称和传递给它的参数。
例如,我们想要在命令行中运行一个Python文件,该文件将接收一个数字作为输入,并返回这个数字的平方。
我们可以使用以下代码:```import sysnumber = int(sys.argv[1])print(number ** 2)```在命令行中运行以下命令:```python square.py 5```输出将是25。
2.2退出程序sys.exit()函数可以使Python程序以指定的状态码退出。
它也可以抛出SystemExit异常,代码可以在捕获这个异常后执行一些操作。
例如,在一个程序中,如果用户提供的输入无效,我们可以使用以下代码:```import sysif input_value not in valid_input_list:print("Invalid input!")sys.exit(1)```这个程序将使用状态码1退出。
pythonsys,os,time模块的使⽤(包括时间格式的各种转换)sys模块sys.argv: 实现从程序外部向程序传递参数。
位置参数argv[0]代表py⽂件本⾝,运⾏⽅法 python xx.py 参数1,参数2 。
self = sys.argv[0]name = sys.argv[1]age = sys.argv[2]print self, name, agesys.getdefaultencoding(): 获取系统当前编码,⼀般默认为ascii。
print sys.getdefaultencoding()sys.setdefaultencoding(): 设置系统默认编码,执⾏dir(sys)时不会看到这个⽅法,在解释器中执⾏不通过,可以先执⾏reload(sys),在执⾏ setdefaultencoding('utf8'),此时将系统默认编码设置为utf8。
(python2.7中可能需要这么做)reload(sys)sys.setdefaultencoding('utf8')sys.path: 获取指定模块搜索路径的字符串集合sys.pathsys.platform: 获取当前系统平台。
print sys.platformsys.exit()功能:执⾏到主程序末尾,解释器⾃动退出,但是如果需要中途退出程序,可以调⽤sys.exit函数,带有⼀个可选的整数参数返回给调⽤它的程序,表⽰你可以在主程序中捕获对sys.exit的调⽤。
(0是正常退出,其他为异常)'''for i in range(1, 10):print '第%s次:' % i, iif i == 5:print '第五次退出'sys.exit(0)os模块1. ()——判断现在正在实⽤的平台,Windows 返回 ‘nt'; Linux 返回'posix'print ()2. os.getcwd()——得到当前⼯作的⽬录。
Pythonsys.argv⽤法详解及应⽤import sysdef readfile(filename):f=open(filename)while True:line=f.readline()if len(line)==0:breakprint("wrong! EOF")print(line)if len(sys.argv) < 2:print ('No action specified.')sys.exit()if sys.argv[1].startswith('--'):option = sys.argv[1][2:]# fetch sys.argv[1] but without the first two charactersif option == 'version':print ('Version 1.2')elif option == 'help':print ('''\This program prints files to the standard output.Any number of files can be specified.Options include:--version : Prints the version number--help : Display this help''')else:print ('Unknown option.')sys.exit()else:for filename in sys.argv[1:]:readfile(filename)以上是简明python基础上摘取下来的都好理解。
⽤命令⾏执⾏你的python程序:如 python my.py --version -y 那么 sys.argv[0]指的是 my.py sys.argv[1]指的是--versionsys.argv[2]指的是-y sys.argv[1]("--version")表⽰的是⼀个字符串。
python中import sys用法(实用版)目录1.导入 sys 模块2.sys 模块的功能3.sys.argv 和 sys.argv[0]4.sys.stdin 和 sys.stdout5.sys.exit() 函数6.sys.modules 和 sys.path7.sys.version正文在 Python 编程中,我们经常会用到 import 语句来导入需要的模块。
今天,我们要介绍的是 import sys 的用法。
首先,让我们来看一下 sys 模块的功能。
sys 模块是 Python 内置的一个模块,它提供了一些与 Python 解释器交互的函数和变量。
通过导入 sys 模块,我们可以访问这些功能。
接下来,我们介绍一下 sys 模块中的一些常用变量和函数。
首先是 sys.argv 和 sys.argv[0]。
sys.argv 是一个列表,包含了命令行中输入的参数。
sys.argv[0] 表示 Python 脚本的名称。
这对于编写命令行工具的脚本非常有用,可以通过这个变量获取脚本的名称。
其次是 sys.stdin 和 sys.stdout。
sys.stdin 是标准输入,通常是键盘输入。
sys.stdout 是标准输出,通常是屏幕输出。
我们可以通过这两个变量来读取用户输入的数据,以及输出程序运行的结果。
再来看一下 sys.exit() 函数。
sys.exit() 函数用于终止 Python程序的运行。
我们可以通过这个函数来设置程序退出的状态码,以及输出一条错误信息。
最后,我们介绍一下 sys.modules 和 sys.path。
sys.modules 是一个字典,存储了所有已经导入的模块。
sys.path 是一个列表,存储了Python 解释器查找模块的路径。
我们可以通过 sys.path 来设置 Python 解释器查找模块的路径。
除此之外,sys 模块还有一个 sys.version 变量,表示 Python 的版本信息。
python获取命令行参数的方法【实用版4篇】目录(篇1)1.介绍 python 获取命令行参数的方法2.详细说明如何使用 sys.argv 模块获取命令行参数3.举例说明如何使用 sys.argv 模块4.总结 python 获取命令行参数的方法正文(篇1)在 python 中,获取命令行参数的方法是通过 sys.argv 模块。
sys.argv 是一个包含命令行参数的列表,其中 sys.argv[0] 是脚本名称,sys.argv[1] 是第一个参数,sys.argv[2] 是第二个参数,以此类推。
首先,需要导入 sys 模块,然后可以通过索引访问 sys.argv 中的各个参数。
例如,如果你在命令行中运行一个名为“example.py”的脚本,并传递两个参数“arg1”和“arg2”,那么 sys.argv[0] 将是“example.py”,sys.argv[1] 将是“arg1”,sys.argv[2] 将是“arg2”。
下面是一个简单的例子,演示如何使用 sys.argv 模块获取命令行参数:```pythonimport sysdef main():print("Script name:", sys.argv[0])print("First argument:", sys.argv[1])print("Second argument:", sys.argv[2])if __name__ == "__main__":main()```将上述代码保存为 example.py,然后在命令行中运行它,传递两个参数“arg1”和“arg2”,你将看到以下输出:```Script name: example.pyFirst argument: arg1Second argument: arg2```这就是如何使用 sys.argv 模块获取命令行参数的方法。
Python获取命令⾏参数的正确⽅法,案例详解背景最近编写⼀个python程序的时候,需要去获取python命令⾏的参数,因此这⾥记录下如何获取命令⾏参数的⽅法。
⼀、sys 模块在 Python 中,sys 模块是⼀个⾮常常⽤且⼗分重要的模块,通过模块中的 sys.argv 就可以访问到所有的命令⾏参数,它的返回值是包含所有命令⾏参数的列表(list),参数个数: len(sys.argv)脚本名: sys.argv[0]参数1: sys.argv[1]参数2: sys.argv[2]下⾯我们通过程序来说明它的⽤法:#!/usr/bin/python# -*- coding: UTF-8 -*-import sysdef main():"""通过sys模块来识别参数demo, /ouyang_peng/"""print('参数个数为:', len(sys.argv), '个参数。
')print('参数列表:', str(sys.argv))print('脚本名为:', sys.argv[0])for i in range(1, len(sys.argv)):print('参数 %s 为:%s' % (i, sys.argv[i]))这⾥还要注意:不管你是为了Python就业还是兴趣爱好,记住:项⽬开发经验永远是核⼼,如果你没有2020最新python⼊门到⾼级实战视频教程,可以去⼩编的Python交流.裙:七⾐⾐九七七巴⽽五(数字的谐⾳)转换下可以找到了,⾥⾯很多新py if __name__ == "__main__":main()复制代码下⾯我们通过命令⾏来运⾏该python脚本关注微信公众号“ python社区营 ”⼲货分享,免费获取视频资源1.1、不传递参数我们执⾏命令python test.py(venv) C:\Code Python\SMTP>python test.py参数个数为: 1 个参数。
python模块中sys.argv[]使⽤⼀、sys 模块sys是Python的⼀个「标准库」,也就是官⽅出的「模块」,是「System」的简写,封装了⼀些系统的信息和接⼝。
⼆、sys.argv介绍和基本使⽤「argv」是「argument variable」参数变量的简写形式,⼀般在命令⾏调⽤的时候由系统传递给程序。
这个变量其实是⼀个List列表,argv[0] ⼀般是“被调⽤的脚本⽂件名或全路径”,这个与操作系统有关,argv[1]和以后就是传⼊的系统命令参数。
其实是⼀个从程序外部获取参数的⼊⼝,这个“外部”很关键,⼀般我们在命令⾏中运⾏。
因为我们从外部输⼊的参数可以是多个,也就是说sys.argv其实可以看作是⼀个列表,所以才能⽤[]提取其中的元素。
其第⼀个元素是程序本⾝,随后才依次是外部给予的参数。
下⾯总结⼀下:sys.argv[0]表⽰代码本⾝⽂件路径,所以参数从1开始.sys.argv[1]表⽰第⼀个命令⾏参数sys.argv[1:]表⽰从第⼀个命令⾏参数到输⼊的最后⼀个命令⾏参数sys.argv[1][2:] 表⽰取第⼀个命令⾏参数,但是去掉前两个字节第⼀种情况:1 #test.py23 import sys4 a = sys.argv[0]5 print(a)第⼆种情况:1 #test1.py23 import sys4 a = sys.argv[1]5 print(a)第三种情况:1 #test2.py23 import sys4 a = sys.argv[1:]5 print(a)三、结合os模块使⽤1 #test3.py23 import sys,os4 a = sys.argv[1]5 os.system(a)上⾯的例⼦中,os.system接收命令⾏参数,运⾏参数指令四、sys模块常⽤⽅法sys.argv 命令⾏参数List,第⼀个元素是程序本⾝路径sys.exit(n) 退出程序,正常退出时exit(0)sys.version 获取Python解释程序的版本信息sys.maxint 最⼤的Int值sys.exit([arg]) 程序中间的退出,arg=0为正常退出sys.getdefaultencoding() 获取系统当前编码,⼀般默认为asciisys.setdefaultencoding() 设置系统默认编码,执⾏dir(sys)时不会看到这个⽅法,在解释器中执⾏不通过,可以先执⾏reload(sys),在执⾏ setdefaultencoding('utf8'),此时将系统默认编码设置为utf8。
Python学习笔记:importsys模块(argv、path、platform、exit) sys模块是Python标准库中⾃带的⼀个模块。
sys模块包括了⼀组⾮常实⽤的服务,内含很多函数⽅法和变量,⽤来处理Python运⾏时配置以及资源,从⽽可以与当前程序之外的系统环境交互,如:Python解释器。
⼀、导⼊sys模块import sys #导⼊sys模块dir(sys) # 查看模块中可⽤的⽅法 ⼆、sys模块中主要的函数变量sys.stdin 标准输⼊流sys.stdout 标准输出流sys.stderr 标准错误流sys.path 查找模块所在⽬录的⽬录名列表sys.argv 命令⾏的参数,包括脚本名称sys.platform 返回当前系统平台sys.exit 返回异常 三、具体使⽤⽅法 1.sys.argv 使⽤sys.argv可以实现程序在外部传递参数。
test.pyimport sysprint sys.argv[number] sys.argv[0] ----- 脚本名称 sys.argv[1,2,3,...] ---- 命令⾏下传递的参数python test.py arg1 arg2 arg32.sys.platform 程序很多都是跨平台的,使⽤sys.platform可以获取当前使⽤的平台,例如:stype = sys.paltform()if stype == "linux"or stype == "linux2":cmd = "clear"else:cmd = "cls"3.sys.exit(n) 执⾏⾄主程序的末尾时,解释器会⾃动退出。
但是如果需要中途退出程序,可以调⽤sys.exit 函数。
sys.exit 函数提供⼀个整数类型(0-127),通常使⽤0表⽰功能,作为这个⽅法的参数。
python解析传⼊的命令⾏参数argvpython解析命令⾏参数主要有三种⽅法:sys.argv、argparse解析、getopt解析⽅法⼀:sys.argv —— 命令⾏执⾏:python test_命令⾏传参.py 1,2,3 1000# test_命令⾏传参.pyimport sysdef para_input():print(len(sys.argv)) # 参数序列的长度,此时所有参数存放在⼀个list之中if len(sys.argv) < 2:sys.exit("python error")script_name = sys.argv[0] #第⼀个参数指的是脚本名称param_first = sys.argv[1] #第⼆个参数,此时也是⼀个str列表param_second = sys.argv[2] #第三个参数print(script_name)print(type(script_name))print(param_first)print(type(param_first))sss = param_first.split(',')print(type(sss))print(sss[0]) #传进来的都是默认strprint(sss[1])print(sss[2])print(param_second)print(type(param_second))print(script_name, param_first, param_second)if__name__ == "__main__":para_input()⽅法⼆:argparse解析 —— 命令⾏执⾏:python test_命令⾏传参.py -n Peter 或者 python test_命令⾏传参.py -n Peter -d 20191120# test_命令⾏传参.pyimport argparseparser = argparse.ArgumentParser('传⼊参数:***.py')parser.add_argument('-n','--name', default='Jack')parser.add_argument('-d','--date', default='20191128')args = parser.parse_args()print(args)print(type(args))name_ = date_ = args.dateprint(type(name_))print(type(date_))print('the people %s said that the date is %s'%(name_, date_))⽅法三:getopt解析 —— 命令⾏执⾏:python test_命令⾏传参.py -f 游泳 -p 20191130 或者 python test_命令⾏传参.py --functionname=游泳 -p 20191130 或者 python test_命令⾏传参.py --functionname=游泳 --partdate=20191130格式为:getopt.getopt(argv, options[, long_options])该⽅法有两种传参形式:短 ('-') 和长 ('--')options表⽰的是短选项,传⼊时需⽤(例如:-f )形式传⼊参数,其中,有冒号(:) 表⽰ -f 之后必须传⼊值构成(例如:-f value),没有冒号则不⽤。
python命令行参数sys.argv使用示例-电脑资料复制代码代码如下:#diff.py#!/bin/env pythonimport sysif len(sys.argv) <> 3:print "Usage: " + sys.argv[0] + "file1 file2"sys.exit(-1)file1 = sys.argv[1]file2 = sys.argv[2]list1 = {}for line in open(file1):list1[line.split()[0]] = 1for line in open(file2):key = line.split()[0]if key not in list1:sys.stdout.write(line)您可能感兴趣的文章:Python 命令行参数sys.argvQQ空间搜狐微博人人网开心网百度搜藏更多Tags:python 命令行参数 sys复制链接收藏本文打印本文关闭本文返回首页上一篇:python删除文件示例分享下一篇:windows下wxPython开发环境安装与配置方法相关文章2013-12-12python函数参数*args**kwargs用法实例2014-04-04python中的实例方法、静态方法、类方法、类变量和实例变量浅析2012-05-05python操作MySQL数据库的方法分享2014-06-06pycharm 使用心得(五)断点调试2014-06-06Python程序设计入门(1)基本语法简介2013-11-11python双向链表实现实例代码2008-09-09Python 过滤字符串的技巧,map与itertools.imap 2014-02-02python使用win32com在插入html元素示例2013-03-03Python语言技巧之三元运算符使用介绍2014-04-04Python中的map、reduce和filter浅析文章评论最近更新Python写的贪吃蛇游戏例子python和pyqt实现360的CLable控件windows下python模拟鼠标点击和键盘输示例python获取beautifulphoto随机某图片代码python显示天气预报pyqt4教程之实现半透明的天气预报界面示例python发送邮件接收邮件示例分享python定时检查启动某个exe程序适合检测epydev使用wxpython找不到路径的解决方法python 算法排序实现快速排序热点排行Python入门教程超详细1小时学会python 中文乱码问题深入分析比较详细Python正则表达式操作指Python字符串的encode与decode研Python open读写文件实现脚本Python enumerate遍历数组示例应Python 深入理解yieldPython+Django在windows下的开发python 文件和路径操作函数小结python 字符串split的用法分享。
Python命令参数1. 引言Python是一种广泛使用的高级编程语言,它提供了丰富的库和工具来帮助开发者快速构建各种应用程序。
在Python中,我们可以通过命令行传递参数来控制程序的行为和输出结果。
本文将深入探讨Python命令参数的使用方法和常见技巧。
2. 命令参数的基本概念在Python中,命令参数可以通过sys模块的argv属性来获取。
argv是一个包含命令行参数的列表,其中第一个元素是脚本的名称,后续元素是传递给脚本的参数。
例如,运行以下命令:python script.py arg1 arg2 arg3则sys.argv的值为[‘script.py’, ‘arg1’, ‘arg2’, ‘arg3’]。
3. 获取命令参数的值我们可以使用sys.argv列表来获取命令参数的值。
例如,如果我们想获取第一个参数的值,可以使用sys.argv[1]。
需要注意的是,sys.argv中的参数都是字符串类型,如果需要将其转换为其他类型,可以使用相应的类型转换函数。
以下是一个示例代码,演示了如何获取命令参数的值:import sysarg1 = sys.argv[1]arg2 = sys.argv[2]arg3 = sys.argv[3]print("第一个参数的值:", arg1)print("第二个参数的值:", arg2)print("第三个参数的值:", arg3)4. 命令参数的默认值有时候,我们希望某个参数在没有传递时有一个默认值。
可以通过使用if语句来实现这个功能。
以下是一个示例代码,演示了如何设置命令参数的默认值:import sysarg1 = sys.argv[1] if len(sys.argv) > 1 else "default"print("参数的值:", arg1)在上述代码中,如果没有传递第一个参数,则arg1的值将被设置为”default”。
pythonsys.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.py import sys def readfile(filename): '''''Print a file to the standard output.''' f = file(filename) while True:
line = f.readline() if len(line) == 0:
break print line, # notice comma f.close()
# Script starts from here if len(sys.argv) < 2: print
'No action specified.' sys.exit() if
sys.argv[1].startswith('--'): option = sys.argv[1][2:]
# 取sys.argv[1] but without the first two characters,这里去掉“--”if option == 'version': print 'Version 1.2' elif option == 'help': print '''''\ This program prints files to the standard output. Any number of files can be specified.
Options include: --version : Prints the version number
--help : Display this help''' else: print
'Unknown option.' sys.exit() else: for filename in sys.argv[1:]: readfile(filename)。