配置好virtualenv和virtualenvwrapper后,使用pycharm创建新项目。之后要面临的问题就来了,之前一直使用的是sqlite作为开发数据库进行学习,按照之前看教程的原则,好像就是说开发环境要和生产环境尽量的一致,所以现在想尝试一下使用更有可能在生产环境部署的mysql数据库进行开发。本觉得是一件应该很轻松的事情,没想到遇到了一些麻烦根据一通百度,搜出来的方案大概有:MySQLdbmysql安装时候自带的connectorpymysq
系统 2019-09-27 17:54:28 1998
引入:Python中有个logging模块可以完成相关信息的记录,在debug时用它往往事半功倍一、日志级别(从低到高):DEBUG:详细的信息,通常只出现在诊断问题上INFO:确认一切按预期运行WARNING:一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如。磁盘空间低”)。这个软件还能按预期工作。ERROR:更严重的问题,软件没能执行一些功能CRITICAL:一个严重的错误,这表明程序本身可能无法继续运行注:这5个等级,也分别对
系统 2019-09-27 17:54:25 1998
迭代器迭代式访问元素的一种方式,迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方法:iter()和next()。常见的字符串,列表或元组对象都可用于创建迭代器:>>>list=[1,2,3,4,5]>>>it=iter(list)>>>print(next(it))1>>>print(next(it))2迭代器对象可以使用常规for语句进行遍历:list=[
系统 2019-09-27 17:54:17 1998
Python数据科学入门DmitryZinoviev著熊子源译第三章使用文本数据第13单元处理HTML文件Beautifulsoup通过Python字典接口实现对HTML标签属性的访问。如果标签对象t表示超链接,则超链接目标的字符串值为t[“herf”].string。HTML标签是不区分大小写的。Soup最有用的函数:soup.find()找到目标的一个实例soup.find_all()找到目标的所有实例HTML\XML之所以强大,是因为有多样化的功能,
系统 2019-09-27 17:53:41 1998
Scrapy是一个开源的Python数据抓取框架,速度快,强大,而且使用简单。来看一个官网主页上的简单并完整的爬虫:虽然只有10行左右的代码,但是它的确是一个完整的爬虫服务:当执行scrapyrunspiderxxx.py命令的时候,Scrapy在项目里查找Spider(蜘蛛️)并通过爬虫引擎来执行它。首先从定义在start_urls里的URL开始发起请求,然后通过parse()方法处理响应。response参数就是返回的响应对象。在parse()方法中,
系统 2019-09-27 17:53:38 1998
概述如今我也是使用Python写代码好多年了,但是我却很少关心GIL的内部机制,导致在写Python多线程程序的时候。今天我们就来看看CPython的源代码,探索一下GIL的源码,了解为什么Python里要存在这个GIL,过程中我会给出一些示例来帮助大家更好的理解GIL。GIL概览有如下代码:staticPyThread_type_lockinterpreter_lock=0;/*ThisistheGIL*/这行代码位于Python2.7源码ceval.c
系统 2019-09-27 17:52:39 1998
基本常识python中的左位移和右位移利用Python在一个文件的头部插入数据withopen(path,"r+")asf:old=f.read()f.seek(0)f.write(data)f.write(old)Debugxpath中遇到[]AttributeError:‘dict’objecthasnoattribute‘iteritems’Python3.5中:iteritems变为items【Python】ufunc‘subtract’didno
系统 2019-09-27 17:52:10 1998
print("我想打印一个字符串%s"%123)print("我想打印一个字符串",123)print("我想打印一个字符串{}".format(123))这三个输出有什么区别喃?Python中一个数据是否可以迭代(能否使用For)isinstance(需要判断的数据,Iterable)查看返回值,true则可以迭代,false不能迭代。如果创建一个可以迭代的对象?必须实现__iter__()方法在__iter__方法中需要返回一个具有__iter__方法
系统 2019-09-27 17:52:09 1998
Python适配器模式,代码,思考等#-*-coding:utf-8-*-#author:baoshanclassComputer:def__init__(self,name):self.name=namedef__str__(self):return'the{}computer'.format(self.name)defexecute(self):return'executesaprogram'classSynthesizer:def__init__(s
系统 2019-09-27 17:52:07 1998
本文适用场景:想用Tkinter开发界面程序并屏幕居中,但没找到相应的API。这两天玩了玩Tkinter,感觉不错,就是屏幕居中这个问题在网上搜了很长时间也没找到答案,最后没办法,看它的文档,用自己的方法实现了。方法很土,就是获取初始化的窗体大小和屏幕大小,再通过计算得到大体值。以下是代码:复制代码代码如下:#!/usr/bin/python'''File:screenCenter.pywAuthor:MikeE-Mail:Mike_Zhang@live.
系统 2019-09-27 17:51:41 1998