您的位置:首页 > 编程语言 > Python开发

python os.execl记录下遇到的传参问题

2016-03-04 10:54 633 查看
mock.py 文件内容

#!/usr/bin/env python
#coding=utf-8
import os,sys
print "current pid: ", os.getpid()
print sys.argv
len = len(sys.argv)
for i in range(len):
    print sys.argv[i]


调用文件

#!/usr/bin/evn python
import os
os.execl("/usr/bin/env", "python", "./mock.py","1", "2", "3")
os.execl("./mock.py","1", "2", "3")


os.execl(path, arg0, arg1, ...)

调用文件中第一个i方法传参顺序:第一个参数file是操作系统命令的全路径,args为程序需要传递的参数,通常arg0为调用命令,从arg1开始才是需要传递的真正参数 
方式一:

os.execl("/usr/bin/env", "python", "./mock.py","1", "2", "3") 的结果为
current pid:  25302
['./mock.py', '1', '2', '3']
./mock.py
1
2
3
<pre name="code" class="python">方式二
os.execl("./mock.py","1", "2", "3") 的结果为
[root@localhost python]# python test2.py

current pid:  25497

['./mock.py', '2', '3']

./mock.py

2

3



结果就不是自己预料的,所以还是按照方式一去执行比较妥当
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: