1import os2 base_dir=os.path.dirname(os.path.dirname(__file__))3 base_db=os.path.join(base_dir,‘db‘)4 base_log=os.path.join(base_dir,‘log‘)5#定义三种日志输出格式 6 standard_format=‘[%(asctime)s][%(threadName)s:%(thread)d][task_id:%(name)s][%(filename)s:%(lineno)d]‘ 7‘[%(levelname)s][%(message)s]‘#其中name为getlogger指定的名字 8 simple_format = ‘[%(levelname)s][%(asctime)s][%(filename)s:%(...
heapq模块实现了python中的堆排序,并提供了有关方法。让用Python实现排序算法有了简单快捷的方式。 heapq的官方文档和源码:8.4.heapq-Heap queue algorithm下面通过举例的方式说明heapq的应用方法实现堆排序#! /usr/bin/evn python #coding:utf-8from heapq import *def heapsort(iterable):h = []for value in iterable:heappush(h,value)return [heappop(h) for i in range(len(h))]if __name__=="__main__":print heapsort([1...
GET #!/usr/bin/env python # encoding: utf-8import urllib import urllib2url = "http://127.0.0.1/index.php?a=hello world" request = urllib2.Request(url=url) response =urllib2.urlopen(request,timeout=20) result = unicode(response.read()) print resultPOST# encoding: utf-8import urllib import urllib2url = "http://127.0.0.1/index.php" par = urllib.urlencode({‘a‘:1}) request = urllib2.Request(url) opn...
python获取本机IP有很多种方法,可每种方法都有局限性。使用netifaces模块获取本机IP网关等信息,需要安装netifaces模块,不管windows还是linux都可以通用。一、程序:#!/usr/bin/env python2 # -*- coding: utf-8 -*- #实现本地网卡IP #需要安装netifaces模块 def GetNetworkIP(): #获取本地网卡IP地址 import netifaces #routingGateway = netifaces.gateways()[‘default‘][netifaces.AF_INET][0] #网关 rou...
urllib1. urllib.urlopen() 打开网页from urllib import request import jsonresponse = request.urlopen("http://www.baidu.com")#获取的网页信息 html = response.read().decode("utf-8") print(html) urlopen返回对象,支持操作: read() readline() readlines() fileno() close() 这些方法的使用方式与文件对象完全一致 info() 返回一个httplib.HTTPMessage对象,表示远程服务器返回的头信息 getcode() ...
今日概要: 1、内置模块 2、协程函数 3、递归 4、面向过程编程与函数编程 5、模块 6、包 7、re正则一、内置模块 1、匿名函数lambda 定义:匿名函数通常是创建了可以被调用的函数,它返回了函数,而并没有将这个函数命名#不使用匿名函数 def func(x,y):return x+yfunc(1,2)#使用匿名函数 f=lambda x,y:x+y print(f(1,2))2、max,zip(拉链函数),sorted用法age={ ‘dragon‘:18, ‘panda‘:20, ‘banana‘:...
一、模块1、标准库 不需要安装,直接调入使用的模块。import sys模块:import sys print(sys.path) #打印环境变量绝对路径 print(sys.argv) #打印当前脚本相对路径打印脚本第二个参数:print(sys.argv [2]) import os 模块: import os # cmd_res=os.system("dir") #只执行命令,不保存结果 cmd_res=os.popen("dir").read() #执行命令,且保存结果 print("--->",cmd_res) os.mkdir("new_dir") #在当前目录下创建一个新目...
晚上比较懒,直接搬砖了。 1.简单的将日志打印到屏幕 import logging logging.debug(‘This is debug message‘) logging.info(‘This is info message‘) logging.warning(‘This is warning message‘) 屏幕上打印:WARNING:root:This is warning message 默认情况下,logging将日志打印到屏幕,日志级别为WARNING; 日志级别大小关系为:CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET,当然也可以自己定义日志级别。2.通过...
Python可以添加自定义模块 方法一:echo ‘export PYTHONPATH=‘/root/pythondiy/‘ >> /root/.bashrc # 此目录为你模块的路径 # 然后使用sys模块查看环境变量 import sys sys.path # 返回一个列表 [‘‘, ‘/usr/local/bin‘, /root/pythondiy‘, ‘/usr/local/lib/python27.zip‘, ‘/usr/local/lib/python2.7‘, ‘/usr/local/lib/python2.7/plat-linux2‘, ‘/usr/local/lib/python2.7/lib-tk‘, ‘/usr/local...
参考 http://www.cnblogs.com/pzxbc/archive/2012/03/18/2404715.htmlpython的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。 基本接口: pickle.dump(obj, file, [,protocol]) 注解:将对象obj保存到文件file中去。 protocol为序列化使用的协议版本...
同步线程threading.Condition(),Condition使用了一个Lock,所以可以绑定一个共享资源,使多个线程等待这个资源的更新再启动。当然Condition也可以显示地使用acquire()和release()方法。一个简单的示例 1: import logging2: import threading3: import time 4: def consumer(cond):5: """6: 等待condition设置然后再使用资源7: :param cond:8: :return:9: """10: logging.debug("开启consumer线程")11: ...
import subprocess ret = subprocess.Popen(‘netstat -ano‘,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE) # PIPE管道print(ret.stdout.read().decode(‘gbk‘)) # 需要解码print(ret.stderr.read().decode(‘gbk‘)) # 需要解码 原文:https://www.cnblogs.com/wc89/p/10422937.html
shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据# pickle进行了封装,可以dump多次# 序列化import shelvef = shelve.open("shelve_test") # 打开一个文件names = [‘mike‘, ‘alex‘, ‘test‘]info = {‘name‘: ‘alex‘, ‘age‘: 22}f[‘names‘] = names # 持久化列表f[‘info_dic‘] = infof.close()# 反序列化d = shelve.open("shelve_test")print(d["names"])print...
一、简介在python3中我们使用json或者pickle持久化数据, 能dump多次,但只能load一次,因为先前的数据已经被后面dump的数据覆盖掉了。 如果我们想要实现dump和load多次,可以使用shelve模块。 shelve模块可以持久化所有pickle所支持的数据类型。代码: #持久化数据 import shelve import datetime# info = {‘name‘: ‘bigberg‘, ‘age‘: 22} # name = [‘Apoll‘, ‘Zous‘, ‘Luna‘] # t = datetime.datetime.now() # # wit...
#! /usr/bin/env python# -*- coding:utf-8 -*-import sys#sys模块包含了与Python解释器和它的环境有关的变量、函数。#1.sys.argv 获取当前正在执行的命令行参数的参数列表(list)for i in sys.argv: print(i)print(sys.argv[0])#2.sys.platform 获取当前执行环境的平台print(sys.platform)#3.sys.path 模块路径列表print(sys.path)#添加模块路径到列表sys.path.insert(0,‘test‘)# 也可以用append#4.sys.builtin_module_names ...