关于探究python中sys.argv时遇到的问题详解

自动化任务

这是一篇关于我在自己学习python自动化办公中遇到的问题的笔记。

关于文章读写

我用到的书是《python编程快速上手》,在学习第八章时遇到了理解上的困难。问题主要是在接触sys.argv和在创建bat文件时,出现了理解上的障碍。

sys.argv这个函数是我们写python脚本中最常用的一个函数.

sys是Python的一个「标准库」,也就是官方出的「模块」,是「System」的简写,封装了一些系统的信息和接口。

官方的文档参考:https://docs.python.org/2/library/sys.html

中文版文档参考:http://xukaizijian.blog.163.com/blog/static/170433119201111625428624/

sys.argv

1、首先对于sys.argv

这个函数在书中没有具体的解释其作用,于是搜索了资料了解到:“sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个“外部”很关键,所以那些试图从代码来说明它作用的解释一直没看明白。”

反思了一下我对于这个函数不理解的地方主要是在于1:它于外部参数构建桥梁的具体方式是什么?2:sys.argv[0]是返回一个路径,那么sys.argv[1]这个东西是什么时候出入sys.argv里的呢?

于是针对这两个问题参照其他的blog进行了实验,发现是在Windows的交互窗口来搭建这个桥梁的,具体方式就是在你输入的要运行的程序后面打上一个参数,这个参数就保存到sys.argv[1]中了,所以一二问题其实都是一个问题。

创建批处理文件

应为我本身完全是一个小白,刚刚接触python没多久,也没有什么cs基础,所以在这里遇到了很多的不懂的知识。
这里主要遇到的问题本来有很多到最后就一个问题,其实就是对于转义符对于这些命令的重要性。

@py.exe E:\\pythonScript\\file\\pw.py %*
@pause

我之前在网上看到的写法都是:

@py.exe E:\pythonScript\file\pw.py %*
@pause

然而我又不知道这个在批处理文件中的指令还是需要转义符,所以就一直不能正常运行。最后没其他方法了,脑子里只剩最后一个想法了,于是添加了转义符,在Windows+r 后输入pw email 终于是成功了。

总结

到此这篇关于探究python中sys.argv时遇到的问题的文章就介绍到这了,更多相关python sys.argv问题内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python 命令行参数sys.argv

    Python代码: Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->import os, sysos.system(sys.argv[1])带参数执行 python xxx.py speos.system 是用来执行命令行的.因此该程序会接收到第一个参数spe,然后在命令行里执行spe,这样,spe(Python IDE)就打开了.

  • Python3 main函数使用sys.argv传入多个参数的实现

    在运维过程中,有些时候需要向main函数中传递参数,以方便运维与测试,那么怎么向main函数中传入多个参数呢,下面以python3中的main函数为例,简单讲一下. 首先我们需要import sys,sys是python3的一个标准库,也就是一个官方的模块.封装了一些系统的信息和接口,然后再说说argv这个变量.「argv」是「argument variable」参数变量的简写形式,一般在命令行调用的时候由系统传递给程序.这个变量其实是一个List列表,argv[0] 一般是被调用的脚本文件名或

  • python命令行参数sys.argv使用示例

    复制代码 代码如下: #diff.py#!/bin/env python import sys if 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

  • 详解Python中 sys.argv[]的用法简明解释

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

  • 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教程上的,明

  • Python3 sys.argv[ ]用法详解

    sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个"外部"很关键,因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可以看作是一个列表,所以才能用[]提取其中的元素.其第一个元素是程序本身,随后才依次是外部给予的参数. 下面我们通过一个极简单的test.py程序的运行结果来说明它的用法. #test.py import sys a=sys.argv[0] print(a) 在程序中找到 '运行'->点击->输入&

  • Python 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是python用来获取命令行参数的,如在CMD下执行python *.py data,也就是使用python执行脚本时,需要添加的参数 按照Python教程中的做法 编写using_sys.py 在cmd中执行脚本 先是只执行python using_sys.py 看一下结果 然后,添加一些参数 python using_sys.py helloworld 再查看一下结果: 接下来分析一下:首先import sys是导入模块,这就是告诉python,我们可以使用sys模块,而sy

  • python中sys.argv函数精简概括

    sys.argv函数通常用来读取命令行参数,其中保存了程序的文件名和命令行参数,读入的参数以元组的形式保存.下面以sys.argv[0],sys.argv[1],sys.argv[1:]进行具体分析,你也可以做其他尝试. 首先打开一个新的文件编辑器窗口,输入下面的代码,将其保存为test.py. import sys print(sys.argv[0]) 用命令行找到test.py文件,以保存在桌面为例. 1.sys.argv[0]:上图即为sys.argv[0]的输出,可以看出是test.py

  • python中sys.argv参数用法实例分析

    本文实例讲述了python中sys.argv参数用法.分享给大家供大家参考.具体分析如下: 在学python的过程中,一直弄不明白sys.argv[]的意思,虽知道是表示命令行参数,但还是有些稀里糊涂的感觉. 今天又好好学习了一把,总算是大彻大悟了. Sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始,以下两个例子说明: 1.使用sys.argv[]的一简单实例 import sys,os os.system(sys.argv[1]) 这个例

随机推荐