文章分类 -  python基础

python基础学习
摘要:import osprint(os.environ)os.environ['XXX'] = "123"input("?>>>") 读取环境变量print(os.environ['XXX']) v = os.environ.get('XXX')print(v) 阅读全文
posted @ 2018-07-02 10:46 liang哥哥 阅读(87) 评论(0) 推荐(0)
摘要:# 可迭代对象# li = [11,22,33]# 可迭代对象转换为迭代器# iter(li) def func(): yield 11 yield 22 yield 33 # 生成器li = func()# 生成器 转换为迭代器iter(li) 阅读全文
posted @ 2018-07-02 10:44 liang哥哥 阅读(107) 评论(0) 推荐(0)
摘要:1、Accept:指定浏览器或其他客户端程序所能处理的MIME类型(IE5和6在重新载入页面时,发送的Accept报头不正确,但在最初的请求中是正确的)。 2、Accept-Charset:标明浏览器可以使用的字符集(如ISO-8859-1). 3、Accept-Encoding:详细列出客户端能处 阅读全文
posted @ 2018-07-01 23:12 liang哥哥 阅读(154) 评论(0) 推荐(0)
摘要:HTTP协议中定义了浏览器和服务器进行交互的不同方法,基本方法有4种,分别是GET,POST,PUT,DELETE。这四种方法可以理解为,对服务器资源的查,改,增,删。GET:从服务器上获取数据,也就是所谓的查,仅仅是获取服务器资源,不进行修改。POST:向服务器提交数据,这就涉及到了数据的更新,也 阅读全文
posted @ 2018-07-01 23:08 liang哥哥 阅读(119) 评论(0) 推荐(0)
摘要:一、HTTP和HTTPS的基本概念 HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。 HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即H 阅读全文
posted @ 2018-07-01 23:01 liang哥哥 阅读(374) 评论(0) 推荐(0)
摘要:简单描述一次Http的请求过程 域名解析 –> 发起TCP的3次握手 –> 建立TCP连接后发起http请求 –> 服务器响应http请求,浏览器得到html代码 –> 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等) –> 浏览器对页面进行渲染呈现给用户 阅读全文
posted @ 2018-07-01 22:54 liang哥哥 阅读(82) 评论(0) 推荐(0)
摘要:HTTP之请求消息Request 客户端发送一个HTTP请求到服务器的请求消息包括以下格式: 请求行(request line)、请求头部(header)、空行和请求数据四个部分组成。 Get请求例子,使用Charles抓取的request: GET /562f25980001b1b10600033 阅读全文
posted @ 2018-07-01 22:50 liang哥哥 阅读(132) 评论(0) 推荐(0)
摘要:字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在。比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦,而且代码难以复用。 正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来 阅读全文
posted @ 2018-07-01 22:11 liang哥哥 阅读(88) 评论(0) 推荐(0)
摘要:在Thread和Process中,应当优选Process,因为Process更稳定,而且,Process可以分布到多台机器上,而Thread最多只能分布到同一台机器的多个CPU上。 Python的multiprocessing模块不但支持多进程,其中managers子模块还支持把多进程分布到多台机器 阅读全文
posted @ 2018-06-30 15:35 liang哥哥 阅读(127) 评论(0) 推荐(0)
摘要:进程 vs. 线程 阅读: 84741 我们介绍了多进程和多线程,这是实现多任务最常用的两种方式。现在,我们来讨论一下这两种方式的优缺点。 首先,要实现多任务,通常我们会设计Master-Worker模式,Master负责分配任务,Worker负责执行任务,因此,多任务环境下,通常是一个Master 阅读全文
posted @ 2018-06-30 15:10 liang哥哥 阅读(364) 评论(0) 推荐(0)
摘要:在多线程环境下,每个线程都有自己的数据。一个线程使用自己的局部变量比使用全局变量好,因为局部变量只有线程自己能看见,不会影响其他线程,而全局变量的修改必须加锁。 但是局部变量也有问题,就是在函数调用的时候,传递起来很麻烦: def process_student(name): std = Stude 阅读全文
posted @ 2018-06-30 00:29 liang哥哥 阅读(126) 评论(0) 推荐(0)
摘要:多任务可以由多进程完成,也可以由一个进程内的多线程完成。 我们前面提到了进程是由若干线程组成的,一个进程至少有一个线程。 由于线程是操作系统直接支持的执行单元,因此,高级语言通常都内置多线程的支持,Python也不例外,并且,Python的线程是真正的Posix Thread,而不是模拟出来的线程。 阅读全文
posted @ 2018-06-29 23:24 liang哥哥 阅读(89) 评论(0) 推荐(0)
摘要:要让Python程序实现多进程(multiprocessing),我们先了解操作系统的相关知识。 Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子 阅读全文
posted @ 2018-06-29 23:06 liang哥哥 阅读(91) 评论(0) 推荐(0)
摘要:__dict__ 阅读全文
posted @ 2018-06-29 22:40 liang哥哥 阅读(84) 评论(0) 推荐(0)
摘要:变量的内容又回来了 当然,这个变量和原来的变量是完全不相干的对象,它们只是内容相同而已。Pickle的问题和所有其他编程语言特有的序列化问题一样,就是它只能用于Python,并且可能不同版本的Python彼此都不兼容,因此,只能用Pickle保存那些不重要的数据,不能成功地反序列化也没关系。 JSO 阅读全文
posted @ 2018-06-29 21:26 liang哥哥 阅读(88) 评论(0) 推荐(0)
摘要:DATA = { 'request':{ 'method':"GET", 'form':{} }, 'session':{ 'user':'alex', 'age':"19" }}class LocalProxy(object): def __init__(self,key): self.key = 阅读全文
posted @ 2018-06-19 21:44 liang哥哥 阅读(105) 评论(0) 推荐(0)
摘要:如果我们要操作文件、目录,可以在命令行下面输入操作系统提供的各种命令来完成。比如dir、cp等命令。 如果要在Python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令只是简单地调用了操作系统提供的接口函数,Python内置的os模块也可以直接调用操作系统提供的接口函数。 打开Pyth 阅读全文
posted @ 2018-06-18 20:07 liang哥哥 阅读(127) 评论(0) 推荐(0)
摘要:StringIO 很多时候,数据读写不一定是文件,也可以在内存中读写。 StringIO顾名思义就是在内存中读写str。 要把str写入StringIO,我们需要先创建一个StringIO,然后,像文件一样写入即可: getvalue()方法用于获得写入后的str。 要读取StringIO,可以用一 阅读全文
posted @ 2018-06-18 20:00 liang哥哥 阅读(94) 评论(0) 推荐(0)
摘要:首先明确一点,现代计算机的操作系统都不允许程序直接操作磁盘的,所以读取文件和写入文件都是有操作系统提供的提供的接口完成的,每一种编程语言都会把操作系统提供的低级C接口封装起来方便使用,Python也不例外。python是怎么样读取文件的。 1、文件的读取 使用open语句进行文件的打开操作,括号里面 阅读全文
posted @ 2018-06-18 19:52 liang哥哥 阅读(108) 评论(0) 推荐(0)
摘要:不用代码片了,直接敲代码: from functools import partial as pto MyButton = pto(Button,top) CritButton = pto(MyButton,command = critCB, bg = 'white', fg= 'red') War 阅读全文
posted @ 2018-06-18 19:38 liang哥哥 阅读(5187) 评论(0) 推荐(0)