- 博客(61)
- 资源 (5)
- 收藏
- 关注
原创 Cookie和session 的区别
Cookie和session 的区别Http/Https 请求的特性:无状态张三和李四分别向一个web服务发送了一个http请求,此时web 后台并不能区分谁是张三,谁是李四,此种情况称之为无状态。短连接http一次请求一次响应,每次一通信完成后就会断开连接,此种情况称之为短连接Cookie试想有这样的场景,由于http协议的无状态特性,当两个不同的用户(张三/李四)向后台请求数据,但是如果两个人的权限不同,能看到的结果也应该不同,那后台如何区分谁是谁呢?当client
2022-01-14 13:55:06
168
原创 BeautifulSoup库的简单入门
BeautifulSoup库的简单入门简介在解析爬虫爬取到的HTML页面是,一般采取的方法有两种,一种是通过xpath的方式来获取要定位的元素对象,优点是速度快,直接。但是xpath的定位方式的语法需要有学习成本。 另外一种就是beautifulSoup库。 一般在解析页面的时候可能需要两种方式搭配使用。本文将介绍beautifulSoup库的简单使用方法。安装通过pip 安装 pip install beautifulsoup4使用引入:from from bs4 impo
2021-07-19 10:42:36
270
2
原创 gitlab git clone SSH验证方式
在gitlab上克隆或者上传代码是,如果采用SSH 模式,就不需要每次都输入自己的账号和密码以下开始对如何配置SSH验证方式进行说明:打开项目以后,点击页面最右边自己的头像,打开个人设置页面在右侧的功能选项列表中选择SSH Keys选择generate one按照下图输入命令ssh-keygen -t rsa -b 2048 -C "your email"生产的key 存放路径在上图上也有提示5. 进入到key的存放路径下,用记事本打开id_rsa.pub,复制里面
2021-03-18 15:54:57
1106
原创 pycharm Terminal git log 中文乱码解决
问题pycharm 集成了Terminal 插件,方便我们在调试代码时直接在Terminal中执行。而我最喜欢的是在使用git提交代码时直接敲命令,但是如果git commit -m 中写了中文的话,在git log 的时候就会显示乱码。解决将默认的cmd.exe 换成powershell.exepycharm Terminal 默认调用的是windows自带的cmd.exe , 而自从windows 10 以后 windows 自带了功能更加强大的powershell,所以这里我们就把Termi
2021-02-20 16:40:10
1082
原创 Git 将单个文件回退到指定版本
实际需求在实际开发过程中,我们提交了多份代码,但是有时候需要只回退其中某个文件的改动,如果直接使用git reset --hard hashcode这样会把整个这次提交都回退了,这肯定不是我们想要的结果。解决首先获取这个文件的提交log hash codegit log file_path特别注意这个后面跟的参数是你要回退的文件相对于项目的相对路径,只写单个文件名会报错,提示找不到这个文件的。2. 将该文件检出git checkout hashcode file_path这个时
2021-02-20 14:11:19
840
转载 ubuntu-设置环境变量
ubuntu-设置环境变量环境变量简介bash shell用一个叫做环境变量(environment variable)的特性来存储有关shell会话和工作环境的信息.环境变量的使用大大方便了程序或者shell中运行的脚本查找和访问内存中存储的数据和系统信息.环境变量分为全局环境变量和局部环境变量,标准的命名方式是:全局变量名用大写字母命名,局部变量用小写字母命名.这里主要介绍全局环境变量.bash shell中操作环境变量**声明:**在bash shell中对环境变量所做的所有操作只对当前s
2021-02-19 13:28:44
579
原创 Python中的单例设计模式
单例模式在实际开发中,我们可能编写的类,虽然被调用(或实例化)多次,但是我们希望所实例化出来的对象都是同一个对象,即所占用的内存空间是同一块内存空间,那就需要使用到单例模式。比如在音乐播放器软件中,我们一次只能播放一首歌,在打印机程序中,打印机一次只能有一份文档被打印。这些都需要用到单例设计模式。那么单例模式如何设计呢?在Python类的初始化过程中,一共分为两个步骤:调用__new__方法分配内存空间,并返回内存空间的引用调用__init__方法,在分配的内存空间中初始化对象下面通过一段
2020-07-12 10:59:59
159
原创 一文读懂python 中的正则表达式以及re模块的常用方法
python正则表达式写在开始本片博文是我在B站学习了别人的视频教程后,写出的个人总结,以供自己日后复习翻阅。若有谬误,还望各位看官不吝指教!为了避免有打广告的嫌疑,原视频地址就不放上来了。如有侵权请通知删除。表达式定义 正则表达式就是将一系列规则按照特定的语法抽象组合成的一个字符串. 语法自身匹配自身—— 这个就不用解释了常用元字符表 ### 举例说明: ...
2020-03-27 17:05:53
447
原创 python虚拟环境的配置
python虚拟环境的配置在window下搭建python的虚拟环境和在Linux下稍有不同安装需要的pypi包在window下安装虚拟环境使用命令pip install virtualenv 和 pip install virtualenvwrapper-win而在Linux下 则使用命令pip install virtualenv 和 pip install virtuale...
2020-01-08 09:09:29
182
原创 pycharm 常用快捷键
常用快捷键 快捷键 功能 Ctrl + Q 快速查看文档 Ctrl + F1 显示错误描述或警告信息 Ctrl + / 行注释 Ctrl + Alt + L 代码格式化 Ct...
2019-11-06 15:53:11
119
原创 pycharm选中多个同样的单词(类似于sublime 里的ctrl+D)
一次性选中并修改多个相同的变量在编码的时候,有时候要批量替换一个变量的名字,但是又不想使用批量替换,因为在不同的作用域中是可以使用相同的变量名的,如果批量替换的话会“误伤”其他。所以就需要有一个一次性选中多个相同的变量名,然后统一替换的功能。很庆幸,pycharm就有这样的功能将光标置于要修改的变量名后面多次按alt+j,这样就可以在相同的变量名后面添加光标此时可以同时删除并修改这些已经...
2019-09-18 14:57:17
13084
原创 python中字符,字节,编码格式等问题总结
python中字符,字节,编码格式等问题总结一直以来,对python中的字符,字节,编码格式理解的懵懵懂懂的,遇到问题总是搞不清楚,最近看一些网络传输方面的知识时,byte首先说byte,也叫字节,一个字节是8个bit。在python中,最小的数据存储单位就是字节,ASCII码中字符在python中都是占一个字节的存储位。英文字符和字符串英文字符都包含在ASCII编码中,所以所有的英文字...
2019-09-12 10:28:47
684
原创 Android SQLite 数据库使用初探
一. 简介SQLite 数据库是Android系统的内置数据库,数据库一般以文件的形式存放在/data/data/<your package name>/databases路径下。二. 使用方法数据库的使用一般包括以下几个步骤新建数据库建表插入数据修改数据删除数据查询数据下面我们结合代码来分步讲解数据库的使用方法:在Android系统中,数据库的操作是通过一个...
2019-06-24 17:33:44
154
原创 Android 6.0以后运行时权限的使用方法
在Android 6.0 之前 (Android M / API 23)之前,当App需要使用某些权限时,直接在Manifest 清单文件中静态是设置权限即可。但是在Android 6.0 之后,有些危险权限,例如涉及到用户隐私的权限,不光要静态申请,还要在运行时动态的申请。下面我们来结合代码一起学习动态申请权限的方法例如,我们写 一个Button,点击这个Button 就可以直接拨打特定的电话...
2019-05-29 17:27:52
161
原创 Android中自定义控件的自定义属性的方法
问题背景在自定义的控件中,原有的自带属性可能无法满足自己的需求,这时候就需要自定义属性解决方案自定义属性一般分为以下 个步骤:编写自定义属性的xml文件参照Android源码中属性定义的方法编写xml文件,Android源码中属性集文件的路径如下:你的安卓SDK路径\Sdk\platforms\android-24\data\res\values\attrs.xml,参照TextVie...
2019-05-06 15:12:53
233
原创 自定义组合控件的使用方法
在实际开发中,可能会用到将几个系统控件组合到一起,形成一个新的控件使用的情况。例如下面的例子:在该例中,我们将两个TextView 和一个CheckBox组合成一个控件,一起使用。下面来介绍实现步骤1. 将组合控件作为一个item个写在一个xml中 如下的 setting_item_view.xml<?xml version="1.0" encoding="utf-8"?>&...
2019-04-30 11:03:18
535
原创 Android 开发之 ListView 使用入门
当需要展示一些条目数据,如下图的新闻主页界面,每一个条目的布局格式相同,比如下图 ,每个条目包含4个元素,分别是“新闻标题”,“发布时间”,“跟帖数量”,“新闻截图”。而且这种条目是可以上下滚动的,可以不断刷新。当有以上需求是我们就会考虑使用ListView控件来实现。可分以下几个步骤来实现:一 . 构建item元素ListView 可以理解成一个立起来的,每层间隔等距的储物...
2019-04-04 16:26:31
292
转载 PyQt5 加载外部qss 样式
在Qt中经常需要使用样式,为了降低耦合性(与逻辑代码分离),我们通常会定义一个QSS文件,然后编写各种控件(QLabel,QLIneEdit,QPushButton等)的样式,最后使用QApplication或QMainWindow来加载样式,这样就可以让整个应用程序共享一种样式了1 编写QSS首先新建一个扩展名为.qss的文件,如style.qss,然后将其加入资源文件(.qrc)中,...
2018-12-12 21:40:54
10438
3
原创 (更新python3.x 版)python 多线程中子线程和主线程相互通信
需求:主线程开启了多个线程去干活,每个线程需要完成的时间不同,但是在干完活以后都要通知给主线程下面上代码:#!/usr/bin/python# coding:utf8'''多线程和queue配合使用,实现子线程和主线程相互通信的例子'''import threading__author__ = "Kenny.Li"import Queueimport timeimport r...
2017-06-20 14:21:49
22235
原创 python map函数用法
python map函数用法1,很简单,第一个参数接收一个函数名,第二个参数接收一个可迭代对象list1 = [1,2,3]result = map(str,list1)print result#打印结果 ['1', '2', '3']2,如果第一个参数传入None,第二和第三个参数传入两个可迭代对象,那map()的功能同zip()list1 = [1,2,3
2015-07-24 22:09:30
967
转载 python中的str与unicode处理方法
原文出处: liuaiqi627 的博客python2.x中处理中文,是一件头疼的事情。网上写这方面的文章,参差不齐,而且多多少少都会有点错误,所以在这里打算自己总结一篇文章。我也会在以后学习中,不断的修改此篇博客。这里假设读者已有与编码相关的基础知识,本文不再再次介绍,包括什么是utf-8,什么是unicode,它们之间有什么关系。str与字节码首先,我们完全不谈unicode。1 s = "人...
2015-05-15 11:14:17
620
原创 字符串常用函数汇总
判断字符串 s.isalnum() #所有字符都是数字或者字母 s.isalpha() #所有字符都是字母 s.isdigit() #所有字符都是数字 s.islower() #所有字符都是小写 s.isupper() #所有字符都是大写 s.istitle() #所有单词都是首字母大写,像标题 s.isspace() #所有字符都是空白字符、\t、\n大小写转换s.
2015-05-14 11:10:49
564
转载 Python中文编码深入解析
中文编码问题是用中文的程序员经常头大的问题,在python下也是如此,那么应该怎么理解和解决python的编码问题呢?我们要知道python内部使用的是unicode编码,而外部却要面对千奇百怪的各种编码,比如作为中国程序经常要面对的gbk,gb2312,utf8等,那这些编码是怎么转换成内部的unicode呢?首先我们先看一下源代码文件中使用字符串的情况。源代码文件作为文本文件就
2015-05-04 17:00:25
374
原创 linux 下修改mysql root用户密码的方法
ubuntu 系统切换到root用户输入:#mysqladmin -u root -p password newpassword(这里的newpassword 为你要修改的新密码)在弹出的password提示中,输入旧的密码回车,即可使用新密码登录了。
2015-05-04 14:19:18
537
原创 主机如何访问运行在虚拟机中的Django项目
最近在学习python web 开发,使用的Django框架。在虚拟机中配置好了Django开发环境,想试一下看Django内置的Demo能否运行通过python manage.py runserver启动Django自带的测试服务器,显示IP地址为127.0.0.0:8000。在主机的浏览器地址栏中输入127.0.0.0:8000,却死活也看不到Demo运行。(本人菜鸟,大虾勿见笑)其实很简
2015-04-29 21:58:30
6099
1
原创 python 全局变量的理解(global关键字)
先看代码:代码一:#!/usr/bin/python#coding:utf8x = 20 def test(): print 'x= ',xtest()代码一执行结果:x = 20我们在代码一的基础上稍加修改代码二:x = 20 def test(): print 'x= ',x x = 2 print 'change x to ',xtest
2015-04-23 16:06:39
1961
转载 python多线程编程(2): 线程的创建、启动、挂起和退出
如上一节,python的threading.Thread类有一个run方法,用于定义线程的功能函数,可以在自己的线程类中覆盖该方法。而创建自己的线程实例后,通过Thread类的start方法,可以启动该线程,交给python虚拟机进行调度,当该线程获得执行的机会时,就会调用run方法执行线程。让我们开始第一个例子:# encoding: UTF-8import threadingimp
2015-04-23 15:00:19
3036
转载 python多线程编程(3): 使用互斥锁同步线程
问题的提出上一节的例子中,每个线程互相独立,相互之间没有任何关系。现在假设这样一个例子:有一个全局的计数num,每个线程获取这个全局的计数,根据num进行一些处理,然后将num加1。很容易写出这样的代码:# encoding: UTF-8import threadingimport timeclass MyThread(threading.Thread): def run
2015-04-23 14:59:57
624
转载 python多线程编程(1): python对多线程的支持
前面介绍过多线程的基本概念,理解了这些基本概念,掌握python多线程编程就比较容易了。在开始之前,首先要了解一下python对多线程的支持。虚拟机层面Python虚拟机使用GIL(Global Interpreter Lock,全局解释器锁)来互斥线程对共享资源的访问,暂时无法利用多处理器的优势。语言层面在语言层面,Python对多线程提供了很好的支持,P
2015-04-23 14:57:26
423
转载 多线程的基本概念
多线程编程必须理解的一些基本概念,适用于所有编程语言。内容:并发式编程多任务操作系统多线程vs多进程线程安全线程的生命周期线程的类型并发式编程不同的编程范式对软件有不同的视角。并发式编程将软件看做任务和资源的组合——任务之间竞争和共享资源,当资源满足时执行任务,否则等待资源。并发式编程使得软件易于理解和重用,在某些场景能够极大提高性能。...
2015-04-23 14:55:34
383
原创 ubuntu14.04下安装MySQL-server 以及MySQLdb模块
在虚拟机上完成Ubuntu14.04的安装一,配置完IP 确认能正常上网二,sudo apt-get install aptitude注:aptitude的功能和apt-get 差不多,个人比较喜欢使用aptitude安装和卸载软件。具体区别请自己度娘。在使用apt-get的时候还有点小插曲,刚装的系统直接输入sudo apt-get install packagename 一般会
2015-01-04 11:50:48
1468
转载 linux下mysql的root密码忘记解决方法
linux下mysql的root密码忘记解决方法1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对 外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器
2014-12-11 10:53:14
373
转载 Ubuntu下彻底卸载mysql
Ubuntu下彻底卸载mysql 做个记录:1、删除 mysql1 sudo apt-get autoremove --purge mysql-server-5.02 sudo apt-get remove mysql-server3 sudo apt-get autoremove mysql-server4 sudo apt-get remove m
2014-12-11 10:51:53
408
原创 Python学习笔记之socket编程——简单聊天器的雏形(client端)
接上一篇server端,我们今天来写client端的代码。首先client端的处理分为以下几步:1,创建一个socket2,连接server3,收发数据4,关闭socket
2014-11-28 10:54:53
629
原创 python 学习笔记之socket编程——简单的聊天器雏形(server端)
Python的socket编程主要分为以下几个步骤:server端:1,打开一个socket2,绑定到一个地址和端口上3,侦听进来的连接4,接受连接5,读写数据6,关闭socket下面根据以上6点开始动手写聊天器,我的代码会写的比较散乱,但是所有代码组合到一起是可以运行的,本人亲测通过。#!/usr/bin/python#coding:utf8impo
2014-11-27 16:59:07
694
原创 会写代码和写好代码的区别
功能:对一个列表中的字符串小写代码一:l = ['Hello','World',20,'IBM','Apple']J = []for s in l: if isinstance(s,str): s.lower() J.append(s.lower()) else: s J.append(s)print J代码二:M = ['Hello','World'
2014-11-08 22:10:01
751
转载 python 获取当前时间
python 获取当前时间我有的时候写程序要用到当前时间,我就想用python去取当前的时间,虽然不是很难,但是老是忘记,用一次丢一次,为了能够更好的记住,我今天特意写下python 当前时间这篇文章,如果你觉的对你有用的话,可以收藏下。取得时间相关的信息的话,要用到python time模块,python time模块里面有很多非常好用的功能,你可以去官方文档
2014-11-06 11:12:54
395
转载 Python: How to Sort a List
Python: How to Sort a ListPython: How to Sort a List很多时候,我们需要对List进行排序,Python提供了两个方法对给定的List L进行排序,方法1.用List的成员函数sort进行排序方法2.用built-in函数sorted进行排序(从2.4开始)这两种方法使用起来差不多,以第一种为例进行讲解:从P
2014-10-24 15:34:16
465
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人