分类标签归档:Python

Python中获取对象信息的方法


当我们拿到一个对象的引用时,如何知道这个对象是什么类型、有哪些方法呢?
使用type()

首先,我们来判断对象类型,使用type()函数:

基本类型都可以用type()判断:

>>> type(123)
<type 'int'>
>>> type('str')
<type 'str'>
>>> type(None)
<type 'NoneType'>

如果一个变量指向函数或者类,也可以用type()判断:

>>> type(abs)
<type 'builtin_functi...

阅读全文...

python实现简单的socket server实例


本文实例讲述了python实现简单的socket server的方法。分享给大家供大家参考。具体如下:

import socket
host = ''
port = 55555
myServerSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
myServerSocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,1)
myServerSocket.bind((host, port))
myServerSocket.listen(1)
print "Server ...

阅读全文...

python分析apache访问日志脚本分享


#!/usr/bin/env python
# coding=utf-8

#------------------------------------------------------
# Name:     Apache 日志分析脚本
# Purpose:   此脚本只用来分析Apache的访问日志
# Version:   2.0
# Author:    LEO
# Created:   2013-4-26
# Modified:   2013-5-4
# Copyright:  (c) LEO 2013
#------------------------------------...

阅读全文...

python数据结构之二叉树的遍历实例


遍历方案 从二叉树的递归定义可知,一棵非空的二叉树由根结点及左、右子树这三个基本部分组成。因此,在任一给定结点上,可以按某种次序执行三个操作:
1).访问结点本身(N)
2).遍历该结点的左子树(L)
3).遍历该结点的右子树(R)

有次序: NLR、LNR、LRN

遍历的命名

根据访问结点操作发生位置命名:
NLR:前序遍历(PreorderTraversal亦称(先序遍历)) ――访问结点的操作发生在遍历其左右子树之前。
LNR:中序遍历(InorderTraversal) ――访问结点的操作发生在遍历其左右子树之中(间)。
LRN:后序遍历(PostorderTravers...

阅读全文...

Python生成不重复随机值的方法


本文实例讲述了Python生成不重复随机值的方法。分享给大家供大家参考。具体分析如下:

这里从一列表中,生成不重复的随机值

算法实现如下:

import random
total = 100
li = [i for i in range(total)]
res = []
num = 20
for i in range(num):
  t = random.randint(i,total-1)
  res.append(li[t])
  li[t], li[i] = li[i], li[t]
print res

其实python 已经实现这样的方法:

print random.sample...

阅读全文...

在Python中使用Mako模版库的简单教程


Mako是一个高性能的Python模板库,它的语法和API借鉴了很多其他的模板库,如Django、Jinja2等等。
基本用法

创建模板并渲染它的最基本的方法是使用 Template 类:

from mako.template import Template
t = Template('hello world!')
print t.render()

传给 Template 的文本参数被编译为一个Python模块。模块包含一个 render_body() 函数,它产生模板的输出。调用 render() 方法时,Mako建立了一个模板的运行环境,并调用 render_body() 函数,把输...

阅读全文...

Python格式化css文件的方法


本文实例讲述了Python格式化css文件的方法。分享给大家供大家参考。具体实现方法如下:

import string, sys
import re, StringIO
TAB=4
def format(ss):
  f = open (ss, "r")
  data = f.read()
  f.close()
  dlen = len(data)
  i = 0
  buf = StringIO.StringIO()
  start = 0
  while i < dlen:
    if data[i] == '{':
      buf.write(data[start:i...

阅读全文...

python实现的解析crontab配置文件代码


#/usr/bin/env python
#-*- coding:utf-8 -*-

"""
1.解析 crontab 配置文件中的五个数间参数(分 时 日 月 周),获取他们对应的取值范围
2.将时间戳与crontab配置中一行时间参数对比,判断该时间戳是否在配置设定的时间范围内
"""

#$Id $

import re, time, sys
from Core.FDateTime.FDateTime import FDateTime

def get_struct_time(time_stamp_int):
    """
    按整型时间戳获取格式化时间 分 时 日 月 周...

阅读全文...

Python获取Linux系统下的本机IP地址代码分享


有时候使用到获取本机IP,就采用以下方式进行。

复制代码 代码如下:

!/usr/bin/python

import socket
import struct
import fcntl

def getip(ethname):

s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

return socket.inet_ntoa(fcntl.ioctl(s.fileno(), 0X8915, struct.pack(‘256s', ethname[:15]))[20:24])

if name=='main':

print getip('eth0')

阅读全文...

Python脚本实现DNSPod DNS动态解析域名


闲暇之余,在家里自建了个服务器,因为用的小区宽带,IP位动态分配。域名解析就是个问题,我的域名一般停放在DNSPod下。DNSPod有提供修改的API,就用Python简单的实现了一下动态解析。这样,就不用安装花生壳了。 废话不说,看代码:

#!/usr/bin/env python
#-*- coding:utf-8 -*-

import httplib, urllib, urllib2
import time
import sys,os
import re
import json

username = 'xxxx' #账号
password = 'xxx' #密码
format ...

阅读全文...