python sys.argv[]用法实例详解
作者:快递小可 发布时间:2023-10-15 17:21:55
标签:python,sys.argv,用法
sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始,以下两个例子说明:
1、使用sys.argv[]的一简单实例:
以下是sample1.py文件:
import sys,os
print sys.argv
os.system(sys.argv[1])
这个例子os.system接收命令行参数,运行参数指令,cmd命令行带参数运行python sample1.py notepad,将打开记事本程序。
2、这个例子是简明python教程上的,明白它之后你就明白sys.argv[]了。
以下是sample.py文件:
#!/usr/bin/env python
#_*_ coding:utf-8 _*_
import sys
def readfile(filename): #定义readfile函数,从文件中读出文件内容
'''''''''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
print sys.argv
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 characters
if option == 'version': #当命令行参数为-- version,显示版本号
print 'Version 1.2'
elif option == 'help': #当命令行参数为--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,读出其内容
readfile(filename)
在与sample.py同一目录下,新建3个记事本文件test.txt,test1.txt,test2.txt,内容如下图:
验证sample.py,如下:
C:\Users\91135\Desktop>python sample.py
['sample.py']
No action specified.
C:\Users\91135\Desktop>python sample.py --help
['sample.py', '--help']
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
C:\Users\91135\Desktop>python sample.py --version
['sample.py', '--version']
Version 1.2
C:\Users\91135\Desktop>python sample.py --ok
['sample.py', '--ok']
Unknown option.
C:\Users\91135\Desktop>python sample.py test.txt
['sample.py', 'test.txt']
hello python!
C:\Users\91135\Desktop>python sample.py test.txt test1.txt test2.txt
['sample.py', 'test.txt', 'test1.txt', 'test2.txt']
hello python!
hello world!
hello wahaha!
goodbye!
C:\Users\91135\Desktop>
总结
以上所述是小编给大家介绍的python sys.argv[]用法实例详解网站的支持!
来源:https://blog.csdn.net/sxingming/article/details/52074311


猜你喜欢
- Mysql Cluster概述 MySql Cluster最显著的优点就是高可用性,高实时性,高冗余,扩展性强。&n
- 1. union合并查询结果集查询工作岗位是 MANAGER 和 SALESMAN 的员工?mysql> select ename,
- 一.问题描述在二维数组的遍历中,我们经常使用双层for循环。在某些时候,我们并不需要遍历整个二维数组。当条件满足时就应该终止for循环。但是
- 反向传递法则是深度学习中最为重要的一部分,torch中的backward可以对计算图中的梯度进行计算和累积这里通过一段程序来演示基本的bac
- 昨天晚上在家里把WM设计好的好台界面做成Html,在家里只用IE8和FF做了测试,感觉还行,除了感觉IE8还不成熟,渲染比较慢且不稳定外,标
- 下面是代码class GroupInfos(models.Model): uid = models.AutoField(primary_ke
- 训练的时候当然用gpu,速度快呀。我想用cpu版的tensorflow跑一下,结果报错,这个错误不太容易看懂。大概意思是没找到一些节点。后来
- 1. 生成源码# -*- coding: utf-8 -*-import randomdef generate_verification_c
- 一、数据备份1、使用mysqldump命令备份mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文
- 什么是 NFT?NFT英文全称为Non-Fungible Token,翻译成中文就是:非同质化代币,具有不可分割、不可替代、独一无二等特点。
- 准备篇:1、配置防火墙,开启80端口、3306端口说明:Ubuntu默认安装是没有开启任何防火墙的,为了服务器的安全,建议大家安装启用防火墙
- 本文实例讲述了Python面向对象类继承和组合。分享给大家供大家参考,具体如下:在python3中所有类默认继承object,凡是继承了ob
- 1.在Home(你取的项目名)的config.php中添加如下配置<?phpreturn array( &nbs
- Timer继承子Thread类,是Thread的子类,也是线程类,具有线程的能力和特征。这个类用来定义多久执行一个函数。它的实例是能够延迟执
- 在python中我们学习了不少理论知识,那么对相关的程序进行测试,就显得很重要了。本篇要讲的是unittest框架,我们可以用它来做一些测试
- 前言:线程是指进程内的一个执行单元,也是进程内的可调度实体.与进程的区别:(1) 地址空间:进程内的一个执行单元;进程至少有一个线程;它们共
- 话说用了就要有点产出,要不然过段时间又忘了,所以在这里就记录一下试用Kafka的安装过程和php扩展的试用。实话说,如果用于队列的话,跟PH
- 前言在上一节我们通过使用NumPy的数组分割成功的在我们的图像上画了一个绿色的方块,但是如果我们想画一个单一的线条或者圆圈该怎么办呢?Num
- PYTHON首先要安装scapy模块PY3的安装scapy-python3,使用PIP安装就好了,注意,PY3无法使用pyinstaller
- 一般的防止被框架方式或者被框架后自动转向,方法如下: if (top.location != self.loc