自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 读取JSON数据

import jsonjson_data = open('data-text.json').read()data = json.loads(json_data)for item in data: print item

2020-10-12 19:32:48 275

原创 读取CSV数据

import csvcsvfile = open('data-text.csv','rb')reader = csv.reader(csvfile)for row in reader: print row

2020-10-12 19:30:48 363

原创 Python多线程之gevent

python多线程只gevent因为python线程的性能问题,在python中使用多线程运行代码经常不能达到预期的效果。而有些时候我们的逻辑中又需要开更高的并发,或者简单的说,就是让我们的代码跑的更快,在同样时间内执行更多的有效逻辑、减少无用的等待。gevent就是一个现在很火、支持也很全面的python第三方协程库。gevent是python的一个并发框架,以微线程greenlet为核心,使用了epoll事件监听机制以及诸多其他优化而变得高效。而且其中有个monkey类,将现有基于Python线程直

2020-09-01 19:57:38 1037

原创 Windows上调用os.fork() 报错:AttributeError: module ‘os‘ has no attribute ‘fork‘

AttributeError: module ‘os’ has no attribute ‘fork’报错:翻译:但是在Linux上运行是不会报这个错由于Windows没有fork调用,上面的代码在Windows上无法运行。因此,建议 os.fork() 不要在windows系统上用。如果想要有fork调用,推荐大家用Unix/Linux或mac系统的电脑。那么在Windows下不能用Python编写多进程的程序吗? 当然不是windows下可以使用multiproessing代替os.

2020-08-27 20:17:52 4041

原创 什么是Python,为什么要学Python,谁在用Python

初识Python为什么要学python谁在用Python什么是Python欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入什么是python为什么要学python上图是19年8月的TIO

2020-08-18 17:39:07 783

原创 BBS项目(博客系统)(3)

1 登陆功能基于用户认证组件与Ajax实现登录功能,首先创建路由映射表: path('login/', views.login),然后创建视图:def login(request): return render(request,"blog/login.html")再实现具体逻辑前先将静态文件配置好,再static文件夹下创建一个blog的文件夹,将与blog功能相关的静态文件放在这个包下,实现一定的解耦,另外需要配置信息:STATIC_URL = '/static/'STATICFIL

2020-10-27 20:22:45 199

原创 BBS项目(博客系统)(2)

业务实现2.1 创建项目通过命令来创建一个django项目dajngo-admin startproject cnblog当然,也可以借助pycharmIDE来快速创建一个项目。数据库因为选择mysql,所以需要重新配置一下settings文件:创建django默认使用的是sqlite3# DATABASES = {# 'default': {# 'ENGINE': 'django.db.backends.sqlite3',# 'NAME': o

2020-10-26 20:06:05 172

原创 BBS项目(博客系统)(1)

一 项目开发流程1.1 需求分析(1) 基于用户认证组件和Ajax实现登录验证(图片验证码)(2) 基于forms组件和Ajax实现注册功能(3) 设计系统首页(文章列表渲染)(4) 设计个人站点页面(5) 文章详情页(6) 实现文章点赞功能(7) 实现文章的评论 ---文章的评论 ---评论的评论(8) 富文本编辑框和防止xss攻击1.2 表结构设计博客系统的表关系:from django.db import models# Creat

2020-10-26 20:01:50 199

原创 数据分析——简单的线性方程

from sklearn.linear_model import LinearRegressionimport pandas as pdimport numpy as npimport matplotlib.pyplot as pltdata = pd.read_excel('./car_data.xls')# 创建模型,将模型在当前的数据场景中进行训练,生成真正的模型lr = LinearRegression()X = data.loc[:,'TV Ads']y = data.loc[:

2020-10-26 14:18:12 244

原创 Flask过滤器——字符串

过滤器的形式:变量|过滤器safe:禁用转义 <p>{{ '<em>hello</em>' | safe }}</p> capitalize:把变量值的首字母转成大写,其余字母转小写 <p>{{ 'hello' | capitalize }}</p>lower:把值转成小写 <p>{{ 'HELLO' | lower }}</p>upper:把值转成大写

2020-10-22 20:28:59 354

原创 Linux下的gedit命令使用方法与技巧

1、启动:  从菜单启动:应用程序——>附件——>文本编辑器  从命令行执行以下命令: gedit2、窗口说明:  菜单栏:包含您在 gedit 中处理文件所需的所有命令。    工具栏:包含您可以从菜单栏访问的命令的子集。    显示区域:该区域包含您正在编辑的文件的文本。    输出窗口:显示 Shell 命令插件和比较文件插件返回的输出。    状态栏:显示关于当前 gedit 活动的信息和关于菜单项的上下文信息。3、小技巧:  a、打开多个文件:  要从

2020-10-22 20:23:03 5004

原创 Falsk创建应用的常用参数

def __init__( self, import_name, static_url_path=None, static_folder="static", static_host=None, host_matching=False, subdomain_matching=False, template_folder="templates", instance_path=None,

2020-10-21 20:27:30 96

原创 Falsk最小的应用

# 1.0 加载接口名from flask import Flask# 2.0 实例化app = Flask(__name__)# 3.0 定义视图函数@app.route('/') # /后面可以加路径,在5000后面把路径加上def index(): return 'Hello World!'# 4.0 利用装饰器生产路由映射# 5.0 开启服务器if __name__ == '__main__': app.run(debug=True)首先,我们导入了

2020-10-19 19:49:51 160

原创 python之异常处理

什么是异常异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中,错误触发的异常如下而错误分成两种1.语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正)#语法错误示范一if#语法错误示范二def test: pass#语法错误示范三class Foo pass#语法错误示范四print(haha)2.逻辑错误#TypeError:int类型

2020-10-16 20:23:28 124

原创 深浅cp

浅copy现有数据data = { "name":"alex", "age":18, "scores":{ "语文":130, "数学":60, "英语":98, }}d2 = datadata["age"] = 20 print(d2)你说d2打印的值里,age是18,还是20?{'name': 'alex', 'age': 20, 'scores': {'语文': 130, '数学': 60, '英语':

2020-10-14 19:59:10 671

原创 面向过程的程序设计

概念:核心是“过程”二字,“过程”指的是解决问题的步骤,即先干什么再干什么,基于面向过程设计程序就好比在设计一条流水线,是一种机械式的思维方式。若程序一开始是要着手解决一个打的问题,面向过程的基本设计思路就是把这个大的问题分解成很多个小问题或子过程,这些子过程再执行的过程中继续分解,知道小问题足够简单到可以在一个小步骤范围内解决。优点:复杂的问题流程化,进而简单化(一个复杂的问题,分成一个个小的步骤去实现,是仙女小的)...

2020-10-13 20:27:48 1306

原创 python基础——模块

什么是模块在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在python中,一个.py文件就称之为一个模块(Module)。使用模块有什么好处?1.最大的好处就是大大提高了代码的可维护性。其次,编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用。我们在编写程序的时候,页经常引用其他模块,包括pyt

2020-10-12 19:58:13 242

原创 将PDF转换成文本

安装pdfminer库pip install pdfminerpdf_text = 'en-final-table9.txt'openfile = open(pef_text,'r')for line in openfile: print line

2020-10-12 19:44:27 94

原创 读取PDF数据

import slatepdf = 'EN-FINAL Table 9.pdf'with open(pdf) as f: doc = slate.PDF(f)for page in doc[:2]: print page

2020-10-12 19:41:43 150

原创 读取XML数据

from xml.etree import ElementTree as ETtree = ET.parse('data-text.xml')root = tree.getroot()data = root.find('Data')all_data = []for observation in data: record = {} for item in observation: lookup_key = item.attrib.key()[0] if lookup_key == 'N

2020-10-12 19:38:25 94

原创 python爬虫之PyQuery的基本使用

from pyquery import PyQuery as pq html = '''<div> <ul> <li class="item-0">first item</li> <li class="item-1"><a href="link2.html">second item</a></li> <li class="item-0 act

2020-09-23 20:26:57 205

原创 BeautifulSoup4简单使用

假设有这样一个Html,具体内容如下:<!DOCTYPE html><html><head> <meta content="text/html;charset=utf-8" http-equiv="content-type" /> <meta content="IE=Edge" http-equiv="X-UA-Compatible" /> <meta content="always" name="referre

2020-09-23 20:14:47 143

原创 scrapy创建一个新项目

1、创建一个新项目scrapy startproject 项目名2、确定需要爬取的数据(目标字段)在项目所在的同名文件夹下,打开items.py文件开始创建目标字段class WorkDetail(scrapy.Item): # 岗位名称 workname = scrapy.Field() # 岗位人数 worknum = scrapy.Field() # 岗位职责 workdetail = scrapy.Field()3、创建爬虫程序scr

2020-09-23 20:10:53 160

原创 scrapy框架的整体架构和组成

框架的基本解读图中绿色的是数据的流向我们看到图里有这么几个东西,分别是Spiders:爬虫,定义了爬取的逻辑和网页内容的解析规则,主要负责解析响应并生成结果和新的请求Engine:引擎,处理整个系统的数据流处理,出发事物,框架的核心。Scheduler:调度器,接受引擎发过来的请求,并将其加入队列中,在引擎再次请求时将请求提供给引擎Downloader:下载器,下载网页内容,并将下载内容返回给spiderItemPipeline:项目管道,负责处理spider从网页中抽取的数据,主要是负责清

2020-09-23 20:06:17 1048

原创 MongoDB安装与配置教程

1.安装MongoDB下载安装包之后直接打开运行,安装包放在自己想放的位置,本次安装包是放在G盘下载地址 https://www.mongodb.com/download-center/community安装过程中,你可以通过点击 “Custom(自定义)” 按钮来设置你的安装目录。下一步安装 “install mongoDB compass” 不勾选(当然你也可以选择安装它,可能需要更久的安装时间)2.环境变量配置当MongoDB安装完后,需要配置环境变量,鼠标右键选择“计算机”“属性”

2020-09-23 20:01:14 770

原创 hive安装

将hive解压到/usr/local下,这里我是从共享文件夹中直接解压到目标文件夹sudo tar -zxvf apache-hive-1.2.2-bin.tar.gz -C /usr/local/改个小名sudo mv apache-hive-1.2.2-bin/ hive改个权限,注意我这里使用的是hadoop用户sudo chown -R hadoop hive/配置环境变量,其中HADOOP_HOME一定要配置vim /etc/profile添加如下内容export HIVE_HO

2020-09-17 20:00:47 89

原创 Hadoop伪分布模式配置

1、配置集群配置:hadoop-env.sh 在etc目录下Linux系统中获取jdk的安装路径:[root@ hadoop101 ~]# echo $JAVA_HOME/opt/module/jdk1.8.0_144修改JAVA_HOME 路径:25行,多节点可能会出错,改成绝对路径export JAVA_HOME=/opt/module/jdk1.8.0_144配置:core-site.xml<!-- 指定HDFS中NameNode的地址 --><property

2020-09-17 19:41:20 113

原创 Linux修改IP与关闭防火墙

1. Linux网络相关概念和修改IP地址的方法2. 关闭防火墙并设置开机开不启动Linux网络相关概念和修改IP地址的方法1.1 网卡的命名规则CENTOS6的网卡命名方式:它会根据情况有所改变而非唯一且固定,在CENTOS6之前,网络接口使用连续号码命名: eth0、 eth1等,当增加或删除网卡时,名称可能会发生变化CENTOS7采用dmidecode采集命名方案,以此来得到主板信息;它可以实现网卡名字永久唯一化(dmidecode这个命令可以采集有关硬件方面的信息)对网络设备的命名方式

2020-09-17 19:26:35 227

原创 伪分布模式下Hadoop启动没有namenode节点

启动过程没有发现错误,但是jps查看进程时,发现少了NameNode,而DataNode却存在:原因:是端口9000已经被占用,解决办法有两个,第一种:查找占用端口的进程,kill掉它。hadoop@hadoop:~$ sudo netstat -anp|grep 9000hadoop@hadoop:~$ sudo kill -9 7056(7056是端口号)最后重新执行启动脚本,jps就可以看到NameNode了如果已占用进程需要使用9000端口,可用第二种方法:修改core-site.xml

2020-09-17 19:08:41 1782

原创 MySQL事务(3)

数据库的隔离级别:对于多个事务运行时,如果事务访问的是相同的数据,如果没有设置隔离级别,就会出现并发问题事务的并发问题:并发问题具体体现脏读对于两个事务,t1,t2,如果T1读取了已经被t2修改过的但是还没有提交的数据,但是最后t2回滚了,t1读取的内容是临时并且无效的不可重复读对于两个事务,T1,T2读取了一个字段的值,但是T2更新了这个字段,T1再次读取的时候,两读取的数据是不一致的幻读对于两个事务T1,T2,T1从一个表中按照一定的条件读取数据,接着T2将表

2020-09-09 19:48:46 71

原创 MySQL事务(2)

事务的创建隐式事务没有明显的开启与结束的标记insert \update \delete显式事务有明显的开启与结束的标记但是特殊的地方:必须设置自动提交功能关闭#查看开启自动提交SHOW VARIABLES LIKE 'autocommit'#设置提交功能禁用SET autocommit=0注意点:只针对当前的会话有效,不是永久生效的创建事务1、关闭自动提交SET autocommit=0;2、开启事务START TRANSACTION;3、事务语句A

2020-09-09 19:43:05 73

原创 MySQL事务(1)

事务的定义:一个或者多个sql语句组成一个执行单元,这个执行单元,要么全部成功,要么全部失败ACID:原子性(atomicity)事务是一个不可拆分的工作单位,事务中的操作,要么全部完成,要么全部失败一致性(Consistency )事务的前后数据的完整性必须保持一致隔离性(Isolation )一个事务的执行不能被其他的事务干扰持久性(Durability )一旦事务提交之后,他对数据库的操作数据改变是永久的,接下来的任何突发情况都不会放生影响...

2020-09-09 19:39:36 71

原创 MySQL GROUP BY后不能使用原表的字段名

SQL 模式主要分两类:语法支持类和数据检查类,常用的如下语法支持类        ONLY_FULL_GROUP_BY      对于 GROUP BY 聚合操作,如果在 SELECT 中的列、HAVING 或者 ORDER BY 子句的列,没有在GROUP BY中出现,那么这个SQL是不合法的    ANSI_QUOTES      启用 ANSI_QUOTES 后,不能用双引号来引用字符串,因为它被解释为识别符,作用与 ` 一样。设置它以后,update t set f1="" ...

2020-09-07 18:12:35 396

原创 Python 爬虫保存图片

最近在写爬虫但是图片保存用了很多种方法都没办法实现最后用这种方法实现了import os,base64import requests as reqfrom PIL import Imagefrom io import BytesIO# 图片链接response = req.get("https://bdfile.bluemoon.com.cn/group2/M00/0A/BA/wKg_HlwzY1SAIdXDAAFyo-ZOLKQ399.jpg")# 内存中打开图片image = Im

2020-09-05 09:33:10 212

原创 MySQL数据库补充

查看表结构DESC 表名;表处理# 修改字段名以及数据类型和约束ALTER TABLE 表名 CHANGE 原字段名 新字段名 数据类型 约束;# 修改字段的数据类型和约束ALTER TABLE 表名 MODIFY 字段名 数据类型 约束;# 增加字段ALTER TABLE 表名 ADD 字段名 数据类型 约束;# 删除字段ALTER TABLE 表名 DROP 字段名;ALTER TABLE 表名 DROP COLUMN 字段名;# 修改表名ALTER TABLE

2020-09-03 20:20:23 127

原创 TCP三次握手四次挥手

一、TCP报文格式在了解三次握手和四次挥手之前,先知道TCP报文内部包含了哪些东西。TCP报头中的源端口号和目的端口号同IP数据报中的源IP与目的IP唯一确定一条TCP连接。TCP在发送数据前必须在彼此间建立连接,这里连接意思是:双方需要内保存对方信息(例如:IP,Port…)报文主要段的意思序号:表示发送的数据字节流,确保TCP传输有序,对每个字节编号确认序号:发送方期待接收的下一序列号,接收成功后的数据字节序列号加 1。只有ACK=1时才有效。ACK:确认序号的标志,ACK=1表示确认号有

2020-09-02 19:51:11 100

原创 pymysql的使用

# 导入pymysql模块import pymysql # 连接databaseconn = pymysql.connect( host=“你的数据库地址”, user=“用户名”,password=“密码”, database=“数据库名”, charset=“utf8”) # 得到一个可以执行SQL语句的光标对象cursor = conn.cursor() # 执行完毕返回的结果集默认以元组显示# 得到一个可以执行SQL语句并且将结果作为字典返回的游标

2020-09-02 19:37:57 144

原创 MySQL数据库

MySQL基本操作创建数据库CREATE DATABASE 数据库名;查看数据库SHOW DATABASES;使用数据库USE 数据库名;删除数据库DROP DATABASE 数据库名;创建数据表CREATE TABLE IF NOT EXISTS 表名(字段名1 数据类型,字段名2 数据类型);查看数据表SHOW TABLES;删除数据表DROP TABLE 表名;插入数据INSERT INTO 表名(字段名1,字段名2)VALUES(数据1,数据

2020-09-02 19:34:37 119

原创 Windows下配置mysql的my.ini文件

基本配置,这个配置可以直接复制到mysql根目录下了my.ini文件中[client]port=3306[mysql]no-beep# default-character-set=[mysqld]port=3306# mysql根目录,根据自己的路径改basedir="D:\AppServ\mysql5.7\"# 放所有数据库的data目录,根据自己的路径改datadir=D:\AppServ\mysql5.7\data# character-set-server=#

2020-09-02 18:36:46 473

原创 MySQL启动报错ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)

ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)在登陆mysql时报错Can’t connect to MySQL server on ‘localhost’ (10061)解决方案:右键我的电脑,管理,找到服务,在服务检查是否存在Mysql服务。我这里已经装好了mysql服务,要是没有就mysqld --install安装一下mysql服务。再在cmd中启动一下mysql服务 net star

2020-09-02 17:56:16 1410

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除