python中命令行参数和shell不一样,是通过sys.argv[]来获取的,sys.argv[0]是代码文件本身的路径,因此参数是从1开始的,
例子:
#!/usr/bin/env python import os import json import os, sys #t=os.popen("""netstat -natp|awk -F: '/redis-server/&&/LISTEN/{print $2}'|awk '{print $1}' """) t=os.popen("""netstat -natp|awk -F: '/%s/&&/LISTEN/{print $2}'|awk '{print $1}' """ % sys.argv[1]) ports = [] for port in t.readlines(): r=os.path.basename(port.strip()) ports += [{'{#REDISPORT}':r}] print json.dumps({'data':ports},sort_keys=True,indent=4,separators=(',',':'))
#!/usr/bin/env python import os,sys tt=os.system('ls -al /%s' % sys.argv[1]) print os.system(tt)