注意调用的绝首时候百必须使用
python 脚本名.py arg1 arg2
因迅裤为度win下面的命令解释器认为.py不是可执行文件,直接调用文件的内时候,不会传入参数,容如下面的代码则并昌数不会传入参数:
脚本名.py arg1 arg2
按照Python教程中的做法编写using_sys.py
在cmd中执行脚本
先是只执行python
using_sys.py
看一下结果
然后,添加一些参数
python
using_sys.py
helloworld
再查看一下结果:
接下来分析一下:和拆首先import
sys是导入模块,这就是告诉python,我们可以使用sys模块,而sys模块包含了与python解释器和它的环境有关的函数
其次,当python执行import
sys语句的时候,它在sys.path变量中所列目录中寻找sys.py模块,如果找到了这个文件,这个模块的主块中的语句被运行,然后这个模块将能够被你使用
然后,sys.argv表示sys模块中的argv变量,实际上,sys.argv是一个字符串的列表,其包含了命令行参数梁绝的列表,即使用命令行传递给你的程序的参数。
特别注意:脚本的名称总是sys.argv列表的第一个参数,而在命令行脚本后的参数是sys.argv列表中的第二个元素,而参数之间以空格区分
10
最后就是sys.path包含了输入模块的目录名列表,sys.path的第一个字符串是脚本当前的路径。
11
以上内容说明了sys.argv是干什么的,以及其内容及意橡棚姿思。
``使命令结果作为参数不是程序的处理,是shell的处理答手源,所以如果需要这么使用,应当薯睁使用shell处理清态你的字符串简单说来,应该这么用:
p1=subprocess.Popen('./examplecpp
`cat
data.txt`',
stdout=subprocess.PIPE,
shell=True)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)