Python
文章平均质量分 59
Rebirth_2017
持续学习,提升生命!
展开
-
Windows安装minconda+python+jupyter++torch+torchvision+d2l案例分享(亲测有效)
大神李沐,动手学机器学习环境配置。原创 2021-11-24 13:20:43 · 1451 阅读 · 0 评论 -
ImportError: cannot import name ‘_has_torch_function‘
在运行如下代码时,%matplotlib inlineimport randomimport torchfrom d2l import torch as d2l问题最开始出现在安装d2l包,我们按照如下方法进行安装:在Python中导入torchvision时,出现问题如下解决的办法:有人说可以更新Python中的numpy,试了一下还可以,pytorch环境总算搞好了。...原创 2021-11-20 23:45:51 · 2766 阅读 · 2 评论 -
《Head First Python》 第九章——如何将sqlite数据库集成到web应用中
方法1:重写athletemodel.py中的代码来使用这个数据库,无需改变API。通过查询sqlite数据库,获得所需数据,把它变成AthleteList对象的字典,然后把字典返回给调用者,调用代码无需做任何改变。 方法2:重写API。方法1看似简单,但在数据的存储方式已发生根本性改变时,重写API更利于后续功能的增加。1 重写API1.1 获取名字列表:get_names_from_原创 2017-02-14 16:01:50 · 532 阅读 · 0 评论 -
《Head First Python》 第九章 ——sqlite数据库路径的配置问题
《Head First Python》 第九章 ——sqlite数据库路径的配置问题 问题现象: “File “C:\Users\lenovo\webapp_ch9\cgi-bin\generate_list.py”, line 5, in athletes = athletemodel.get_namesID_from_store() File “C:\Us原创 2017-02-15 07:39:31 · 563 阅读 · 0 评论 -
数据存储:从pickle到sqlite 《Head First Python》第九章
1 pickle存储+文本存储——容易出现数据不一致当有数据需要更新时,前面章节所采取的“pickle+文本”的存储模式会存在问题,如下图所示: 如果更新pickle,下一次put_to_store()函数运行时,罪行的更新会丢失,因为put_to_store()会由文本文件中的数据重新创建pickle。 如果更新文本文件,则直到put_to_store()再次运行时,pickle才会得到更原创 2017-01-30 22:31:05 · 1397 阅读 · 0 评论 -
cursor row 的使用方法 第九章
1 Cursor Objects class sqlite3.Cursor 主要用于sql语句的执行和执行结果的获取。Cursor instance 的常用属性和方法如下,更多的介绍参考python文档。1.1 Cursor.execute(sql[, parameters])Executes an SQL statement. The SQL statement may be par原创 2017-01-31 07:34:50 · 1697 阅读 · 0 评论 -
使用select.select编写聊天室服务器 《Python网络编程攻略》
# 现实中,大型网络服务器可能要处理几百或几千个客户端同时连接的请求,此时为每个客户端创建单独的线程或进程可能不实际。因为主机的内存可用量和CPU的能力皆有限制。 要处理大量客户端的连接需要更好的技术,那就是Python提供的select模块。selectselect最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select()原创 2017-03-08 09:43:26 · 1130 阅读 · 0 评论 -
使用htonl、pack、ntohl、unpack重写send和receive函数 《Python网络编程攻略》
在利用select.select编写聊天室服务器的案例中http://blog.csdn.net/zhou8201/article/details/60866947, 重写了sock的send和recv函数。程序如下:# Some utilitiesdef send(channel, *args): buffer = cPickle.dumps(args) value =原创 2017-03-08 10:07:21 · 1426 阅读 · 0 评论 -
select.epoll多路复用web服务器---sock.fileno;select.EPOLLIN;select.EPOLLOUT;
多路复用有select,poll为啥还要epoll呢?文章http://blog.csdn.net/songfreeman/article/details/51179213给出了详细讲解,这里不再赘述。我通过python pdb调试了《Python网络编程攻略》第34页的select.epoll多路复用web服务器程序后,有了较为粗浅的认识,哈哈!与大家分享! select.epoll大概是一个原创 2017-03-10 23:07:05 · 1685 阅读 · 0 评论 -
linux下安装numpy,scipy,matplotlib
学习python从今天开始放弃windows下的开发,越往后学越发现在win下的环境配置和软件包安装太复杂,从某种角度上讲已经影响了对python本身的学习。尤其是在今天安装numpy,scipy,matplotlib的过程中尤其明显,具体见http://blog.csdn.net/shomy_liu/article/details/48543449。后来,果断换到ubantu中,安装原创 2017-04-08 23:12:42 · 701 阅读 · 0 评论 -
线程的锁函数:threading.Lock() 返回锁对象 Lock
1. threading.Lock() 返回锁对象。用于生成原始锁对象的工厂函数。 一旦某个线程获得了这个锁,其他的线程要想获得他就必须阻塞,直到锁被释放。A factory function that returns a new primitive lock object. Once a thread has acquired it, subsequent attempts to ac原创 2017-05-25 23:12:03 · 7257 阅读 · 1 评论 -
range、xrange 和 randrange 的用法和区别
概括起来,我的理解: 下面是具体介绍:1. range([start], stop[, step]) 返回等差数列。构建等差数列,起点是start,终点是stop,但不包含stop,公差是step。start 和 step 是可选项,没给出start时,从0开始;没给出step时,默认公差为1。 以下为帮助文档解释:This is a versatile function to cre原创 2017-05-26 06:46:43 · 11590 阅读 · 0 评论 -
用Python写FTP客户端程序
0 前言:ftp客户端相信大家都用过,那么我们为什么还要用Python写ftp客户端呢?我想有两个原因:一是写出更好的ftp客户端应用程序,方便大家使用;二是定制一些特殊服务,例如每天定时下载/上传某文件;我还没能力也没时间写出ftp客户端应用程序,前期先分析一下python写ftp客户端的核心部分,即实现上传和下载的关键部分。首先看一下ftp服务器/客户端架构:1 FTP服务器/客户端上图展示了f原创 2017-05-10 14:50:03 · 5502 阅读 · 0 评论 -
图书排名查询——python多线程编程应用
python多线程编程特别适用于完成相互独立的任务,同时进行,相互之间没有依赖性。比如,下面我们介绍的从网站中查询每本书的排名这个任务,就非常适合应用多线程来提升效率。1 理论分析单线程情况下,查询n本书的排名,需要执行n次排名查询。Created with Raphaël 2.1.0开始查询给定isbn图书的排名已经查询完毕结束取出下一个isbn进行查询yesno多线程情况下,同时对每一本原创 2017-06-05 09:30:40 · 502 阅读 · 0 评论 -
python多线程编程——《python核心编程第四章》
1 引言首先区分几个概念: 程序——能被计算机执行的文件; 进程——处于执行状态的程序,包含计算机为其分配的空间、内存、数据栈等资源; 线程——也称轻量级进程(迷你进程),在同一进程下执行,拥有相同的上下文(线程间消息传递更方便);可以认为他们是在同一主进程或“主线程”中并行运行的一些“迷你进程”。从上面的概念可以发现: 针对能够采用多线程编程的任务,如一个进程可以拆解为多个并原创 2017-06-02 22:54:43 · 1008 阅读 · 0 评论 -
CGI-Web服务器接收并显示数据 《Head First Python》第九章
实现效果提交时间的网页test_form.py将数据提交至add_timing_data.py后,后者将前者传送的关键数据显示出来。 代码test_form.pyimport yateprint(yate.start_response('text/html'))print(yate.do_form('add_timing_data.py',['TimeValue'],text='send原创 2017-01-29 08:14:43 · 924 阅读 · 0 评论 -
使用ThreadingMixIn实现多线程套接字服务器--《Python网络编程攻略》
不同于多进程套接字服务器,基于ThreadingMixIn的多线程套接字服务器具有诸多优势:线程间共享应用状态;避免进程间复杂的通信操作,等等。实现方法创建ThreadedTCPServer类,它将继承TCPServer和ThreadingMixIn类。客户端连接这个多线程服务器时,就会创建一个新线程进行处理。请求处理类ForkingServerRequestHandler会在一个新线程中将消原创 2017-02-28 22:45:34 · 4767 阅读 · 0 评论 -
使用多路复用套接字I/O提升性能之——ForkingMixIn 《Python网络编程攻略》
与前一例不同,本次考虑多个客户端连接服务器的情况,且可以异步通信。 服务器不需要在阻塞模式中处理客户发出的请求,而是单独处理每个请求。如果某个客户端接受或处理数据花了很长时间,服务器无需等待处理完成,即可使用另外的线程和其他客户端进行通信。实现方法SocketServer模块:利用SocketServer模块提供的类可以直接实现TCP、UDP及其他协议服务器。ForkingMixIn原创 2017-02-28 15:12:27 · 1700 阅读 · 1 评论 -
python语法之:单引号 双引号 三引号
1双引号与3个双引号的区别双引号所表示的字符串通常要写成一行 如: s1 = “hello,world” 如果要写成多行,那么就要使用/ (“连行符”)吧,如 s2 = “hello,/ world” 如果你用3个双引号的话,就可以直接写了,如下: s3 = “”“hello, world, hahaha.”“”那么s3实际上就是”hello,/nwo原创 2017-01-07 21:00:58 · 898 阅读 · 0 评论 -
python web服务器response()输出的问题
看完Ruslan的Blog: 《Let’s Build A Web Server. Part 1.》文章讲得很透,给出服务器代码为:import socketHOST, PORT = '', 8888listen_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)listen_socket.setsockopt(socket.原创 2017-01-07 21:59:56 · 5321 阅读 · 0 评论 -
cgi.FieldStorage()获取网页间提交的数据《Head First Python》第七章
To get at submitted form data, it’s best to use the FieldStorage class. The other classes defined in this module are provided mostly for backward compatibility. Instantiate it exactly once, without arg原创 2017-01-13 22:27:00 · 5075 阅读 · 0 评论 -
在web浏览器中显示错误情况--cgitb
When you write a new script, consider adding these lines:import cgitbcgitb.enable() This activates a special exception handler that will display detailed reports in the Web browser if any errors occ原创 2017-01-13 22:19:47 · 803 阅读 · 0 评论 -
《Head First Python》第七章 界面生成模板yate
yate模板引擎from string import Templatedef start_response(resp="text/html"): return('Content-type: ' + resp + '\n\n')def include_header(the_title): with open('templates/header.html') as headf:原创 2017-01-09 23:06:54 · 1130 阅读 · 0 评论 -
Python下web服务器的原始实现(socket)《Head First Python》第七章
Python下web服务器的演化原始实现VS框架实现 “掌握一个类似于框架的高级工具是有用的,但是基础的东西可以让你永远不被淘汰。不要被工具限制了自己的发展。”在当今Python服务器框架 (framework, 比如Django, Twisted, web.py等等) 横行的时代,从底层的socket开始写服务器似乎是一个出力不讨好的笨方法。 “框架的意义在于掩盖底层的细节,提供一套对于原创 2017-01-09 23:14:32 · 606 阅读 · 0 评论 -
Python下CGIweb服务器实现(CGIHTTPServer) 《Head First Python》第七章
《Head First Python》第260页中介绍的支持CGI的web服务器的编写适合python3,不巧我的是Python2,亲测不行,类库并不一致!原因是: 在Python 3.x中,BaseHTTPServer, SimpleHTTPServer, CGIHTTPServer整合到http.server包,SocketServer改名为socketserver,请注意查阅官方文档1.原创 2017-01-10 22:31:28 · 1851 阅读 · 0 评论 -
Python类的定义使用 《Head First Python》第六章
1 使用class定义类 python使用类创建对象,每个类都有一个特殊的方法:init(),通过这个方法控制如何初始化对象。类的基本形式如下:2 创建对象实例有了类之后,创建对象实例很容易,只需将对类名的调用赋至各个变量。如下图: 3 Self的重要性引用原书一段,确实写得很好! 4 例子原创 2017-01-12 06:33:19 · 274 阅读 · 0 评论 -
YATE界面生成模板引擎 《Head First Python》第七章
1 模板引擎的作用说它是引擎的原因是web应用程序可以调用模板中的函数,生成HTML代码,从而为生成用户界面。因此,它是整个界面生成的中枢,控制着生成界面的形式。2 代码实现先给出yate.py总体代码:from string import Templatedef start_response(resp="text/html"): return('Content-type: ' + res原创 2017-01-12 15:18:55 · 1394 阅读 · 0 评论 -
替换文本中的$占位符 Template.substitute、 Template.safe_substitute
要替换文本中的特定占位符怎么办? 用Template类的substitute方法,Template是string类的一个子类。 怎么标定占位符呢? 用特殊字符$下文是对《python v.2.7.1 documentation》的引用,具体讲了: Template类的substitute和safe_substitute方法; 根据需要改变占位符的识别字符原创 2017-01-13 11:32:01 · 2064 阅读 · 0 评论 -
获取特定文件路径的函数glob.glob()
《Head First Python》中有两句代码,如下:data_files = glob.glob("data/*.txt")athletes = athletemodel.put_to_store(data_files) 他的作用是要将data目录下所有的txt文件逐一读取并存储为athlete类的实例。glob.glob("data/*.txt")的作用就是返回txt文件的路径。下面原创 2017-01-13 11:58:43 · 3417 阅读 · 1 评论 -
Python之BSD socket套接字编写回显客户端/服务器应用----《Python 网络编程攻略》
本例实现的功能:不管服务器从客户端收到什么输入,都会将其回显出来。 运行效果及方法如下: 如图,打开运行输入cmd,先运行服务器程序1_13a_echo_server.py,注意要输入参数--port=9900,得到界面如下: 再打开一个命令窗口,运行客户端程序1_13b_echo_client.py,得到结果如下: 我们看到,服务器在9900端口启动了一个监听,客户端向99原创 2017-02-27 22:15:25 · 715 阅读 · 0 评论 -
《Hello World》python学习之pygame画图模块
python学习之pygame画图模块1 安装cmd中执行命令:pip install pygame 如果已经安装,则会告知“Requirement already satisified”。2 功能2.1 新建窗口 代码import pygamepygame.init()screen = pygame.display.set_mode([640, 480])running = T原创 2017-02-18 07:10:29 · 1761 阅读 · 0 评论 -
AttributeError: 'module' object has no attribute 'fork' 切记:windows内核中没有os.fork()函数
AttributeError: ‘module’ object has no attribute ‘fork’ windows内核中没有os.fork()函数 错误提示“AttributeError: ‘module’ object has no attribute ‘fork’”搜索半天,出现该问题的原因在于windows的内核中没有os.fork()函数,放到linux中运行正常。win原创 2017-02-28 13:07:41 · 2873 阅读 · 0 评论 -
《Head First Python》 第七章 Web开发之——数据建模 (电子书247-250)
1. web应用工作的五个步骤 P2412. 应用的功能分析 p2433. 采用MVC设计web应用 p2463.1 数据建模web服务器需要从教练的文本文件创建一个存储数据的副本。- 启动web服务(存储数据) 启动web应用,需要包文本文件中的数据转换成AthleteList对象的实例,存储在一个字典中(按选手名索引),然后保存为一个pickle文件。这个功能由put_to_store()函原创 2017-01-02 23:00:23 · 1186 阅读 · 1 评论