python的简单应用_Python 简单应用

1、Python 调试

#!/usr/bin/python

from ftplib import FTP

import sys

import socket

import pdb

def passwordCorrect(ip,port,username,password):

try:

client = FTP()

pdb.set_trace()

client.connect(ip,port)

client.login(username,password)

client.close()

except Exception, e:

pdb.set_trace()

client.close()

if str(e).find('unknown IP address')!=-1:

return 2

return 0

print "correct"

return 1

if __name__ == '__main__':

socket.setdefaulttimeout(3)

ret = passwordCorrect('127.0.0.1',21,'test','test')

print "return is ",ret

主要是pdb模块的应用

在需要设置断点的地方加入pdb.set_trace()

执行python -m pdb test.py

pdb的常用命令说明:

l #查看运行到哪行代码

n #单步运行,跳过函数

s #单步运行,可进入函数

p 变量 #查看变量值

b 行号 #断点设置到第几行

b #显示所有断点列表

cl 断点号 #删除某个断点

cl #删除所有断点

c #跳到下一个断点

r #return当前函数

exit #退出

上述只是简单的调试,适用于小程序,但如果是大型程序还是相对来说不方便。

2、Python 命令行参数获取

参考学习文章:

编写带命令行参数的Python程序

在Python有两种方式获取和分析命令行参数,

一是sys.argv,可以访问所有命令行参数列表

import sys

print 'Number of arguments:', len(sys.argv)

print 'They are:', str(sys.argv)```

运行:

python ./test_argv.py arg0 arg1 arg2

Number of arguments: 4

They are: ['./test_argv.py', 'arg0', 'arg1', 'arg2']

二是通过getopt模块

-- coding:utf-8 --

import sys, getopt

def main(argv):

inputfile = ""

outputfile = ""

try:

# 这里的 h 就表示该选项无参数,i:表示 i 选项后需要有参数

opts, args = getopt.getopt(argv, "hi:o:",["infile=", "outfile="])

except getopt.GetoptError:

print 'Error: test_arg.py -i -o '

print ' or: test_arg.py --infile= --outfile='

sys.exit(2)

for opt, arg in opts:

if opt == "-h":

print 'test_arg.py -i -o '

print 'or: test_arg.py --infile= --outfile='

sys.exit()

elif opt in ("-i", "--infile"):

inputfile = arg

elif opt in ("-o", "--outfile"):

outputfile = arg

print 'Input file : ', inputfile

print 'Output file: ', outputfile

if name == "main":

main(sys.argv[1:])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值