自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 《Introduction to NetworkSimulator NS2》Chapter 2:NS2基础知识

NS2基础

2022-06-10 21:43:27 309 1

原创 【Linkage Between Otcl and C++ in NS2】

目录文章目录前言一、NS2为什么要采用两种语言?二、NS2的处理流程1.C++/OTcl Components: C++ Classes 绑定类 2.C++/OTcl Components and NS2 Directories3.组件绑定3.1 TclClass3.2 TclObjectOTcl与C++是如何协同工作的,探寻影像类建立的机制。 有利于发挥两种语言的优势,取长补短!这是由C++代码特性决定的,虽然C++代码运行速度快,但是网络仿真需要配置很多参数,这对C++是难以应对,对用户也是难以理解的。

2022-06-05 17:28:37 202

原创 Word无法插入页码怎么办?Word页码选项变灰,无法使用解决方法

今天打开Word,突然发现插入页面是灰色的,且只有一个不可用的选项,怎么办呢?今天小编给大家带来Word页码无法使用解决方法,需要的朋友可以参考下好久没开电脑了,今天打开Word2007,突然发现插入页面是灰色的,且只有一个不可用的选项,怎么办呢?技术小编琢磨良久,终于发现了问题,原来是页码模板文件丢失的原因,只要把模板重新安装,即可解决问题!Word页码无法使用解决方法第一步:检查加载项插入页码出现不可用状态,首先检查Word加载项是否启动了模板。依次打开:Office——>

2022-01-29 12:00:33 58056 1

原创 Windows安装minconda+python+jupyter++torch+torchvision+d2l案例分享(亲测有效)

大神李沐,动手学机器学习环境配置。

2021-11-24 13:20:43 1383

原创 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 2647 2

原创 PPT汇报片配音及视频格式生成方法

目录第一步,插入音频文件并设置。第二步,调整音频的播放顺序。第三步,开始录制、打点。第四部,导出视频。俗话说得好“好记性不如烂笔头”,以前因为任务紧急,用PPT做过几次自动播放带配音的视频片,由于都是找人做,自己也没上心,等这回又用时,发现又忘了,又请教了一遍,这次一定要记录下来!先说一下环境,我用的是win10下的PPT2016版,不同版本可能有细微的差异。首先需要说明的是给PPT配音有两种方法,一种是用麦克边播边说的录制方法;一种是把音频录制出来,按照幻灯片的页数进行剪.

2020-12-16 10:14:50 3385

原创 QtTCP通信过程

2020-03-24 09:52:39 196

原创 什么是学术专著?

出版社在出版一部书时,在作者姓名后一般写有"著""编""编著""主编"等。它们的含义是不一样的。什么叫学术专著?国家科学技术学术著作出版基金委员会在《国家科学技术学术著作出版基金资助项目申请指南(2008年度)》中明确指出:学术专著是指"作者在某一学科领域内从事多年系统深入的研究,撰写的在理论上有重要意义或实验上有重大发现的学术著作。"所谓"专著",指"国内外科学专家所撰写的学术著作。"...

2020-03-14 06:45:09 5397

原创 Qt数据类型转换

(1)QString 向QByteArray转换:使用QString::toUtf8();思路:看QString 有没有函数。QString str="123";QByteArray a = str.toUtf8();(2)QByteArray 向 char *转换:QByteArray::data();思路:看QByteArray 有没有相应的函数;承上:char ...

2020-03-13 09:27:52 627

原创 QPicture绘图设备--能将图片保存为二进制

这是一个可以记录和重现QPainter命令的绘图设备。 QPicture将QPainter的命令序列化到一个IO设备,保存为一个平台独立的文件格式。Qt的这种格式是二进制的,不同于某些本地的元文件,Qt的pictures文件没有内容上的限制,只要是能够被QPainter绘制的元素,不论是字体还是pixmap,或者是变换,都可以保存进一个picture中。QPicture是平台无关的,因此它...

2020-02-28 23:38:08 544

原创 QImage与QPixmap的转换

QImage的优势是可以进行像素点的修改,且与平台无关;而QPixmap与平台有关,对绘图进行了优化。所以,二者经常需要转化,下面给出实例项目06_pixmaptoimage.pro,代码如下#include "widget.h"#include "ui_widget.h"#include <QPainter>#include <QPixmap>#inclu...

2020-02-28 16:30:38 3956

原创 QBitmap和QPixmap的区别

QBitmap用于画黑白图,QPixmap画彩色图。示例项目:02_QBitmap 代码:widget.h:#ifndef WIDGET_H#define WIDGET_H#include <QWidget>namespace Ui {class Widget;}class Widget : public QWidget{ Q_OBJECT...

2020-02-28 15:10:01 565

原创 Qt基本绘图:用画家QPainter画线条和矩形

画家QPainter能画很多简单的线条和矩形,要加载图片则需要用QPixmap、QBitmap、QImage和 QPicture。示例项目:01_PaintEvent 代码:#include "widget.h"#include "ui_widget.h"#include <QPainter>#include <QPixmap>Widget::Wi...

2020-02-27 16:41:30 5835 3

原创 Qt 绘图和绘图设备(窗口背景图片设置)

Qt 的绘图系统允许使用相同的 API 在屏幕和其它打印设备上进行绘制。整个绘图系统基于QPainter,QPainterDevice和QPaintEngine三个类。QPainter用来执行绘制的操作;QPaintDevice是一个二维空间的抽象,这个二维空间允许QPainter在其上面进行绘制,也就是QPainter工作的空间;QPaintEngine提供了画笔(QPainter)在不同的...

2020-02-27 16:10:37 452

原创 QPixmap绘图设备

三种绘图设备及区别:QPixmap:针对屏幕进行了优化,和平台相关,不能对图片进行修改; QImage:和平台无关,可以对图片进行修改,支持线程中绘图; QPicture:保存绘图的状态(二进制文件)代码:main.cpp:#include "widget.h"#include <QApplication>int main(int argc, char...

2020-02-27 15:38:21 206

原创 C++模板简介

目录1 什么是C++中的模板1.1 模板的定义1.2 使用模板的好处2 怎么用模板?2.1特化——解决代码从模板到具体化的问题2.1.1 模板参数指定2.1.2 隐式特化2.1.3 显示特化2.2 模板实例化2.2.1 显式实例化2.2.2隐式实例化3 示例3.1显示特化实例3.2全特化实例3.3偏特化实例3.4函数模板例子3.5...

2020-01-29 23:40:50 505

原创 提示错误:“已加载“C:\Windows\SysWOW64\kernel32.dll”。“包括”/“排除”设置禁用了加载功能”

解决方案:工具 ->选项 -> 调试 ->符号 中箭头部分勾选上就可以了。参考:https://blog.csdn.net/weixin_41605888/article/details/89226311

2020-01-26 16:54:37 3594

原创 Socket其实就是一个文件

socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求。socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用【打开】【读写】【关闭】模式来操作。 socket就是该模式的一个实现,socket是一种特殊的文件,一些socket函数就是对其进行的操作(打开、读/写IO、关闭)。...

2019-09-25 23:34:40 4997

原创 typedef 函数指针的用法

“做学问就要有打破沙锅问到底的精神!”碰到问题就绕着走,以后碰到了要再花一倍时间来弄懂它,既然始终绕不开,索性就把他解决掉!!!目录1、用法1:定义指向特定类型函数的指针别名,注意主语是指针。语法:typedefint(*MYFUN)(int, int);2、用法2:typedef 给变量类型定义一个别名.3、实例4 、与函数模板的区别5、有无typede...

2019-09-10 16:05:40 16140 5

原创 图书排名查询——python多线程编程应用

python多线程编程特别适用于完成相互独立的任务,同时进行,相互之间没有依赖性。比如,下面我们介绍的从网站中查询每本书的排名这个任务,就非常适合应用多线程来提升效率。1 理论分析单线程情况下,查询n本书的排名,需要执行n次排名查询。Created with Raphaël 2.1.0开始查询给定isbn图书的排名已经查询完毕结束取出下一个isbn进行查询yesno多线程情况下,同时对每一本

2017-06-05 09:30:40 467

原创 python多线程编程——《python核心编程第四章》

1 引言首先区分几个概念: 程序——能被计算机执行的文件; 进程——处于执行状态的程序,包含计算机为其分配的空间、内存、数据栈等资源; 线程——也称轻量级进程(迷你进程),在同一进程下执行,拥有相同的上下文(线程间消息传递更方便);可以认为他们是在同一主进程或“主线程”中并行运行的一些“迷你进程”。从上面的概念可以发现: 针对能够采用多线程编程的任务,如一个进程可以拆解为多个并

2017-06-02 22:54:43 995

原创 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 11487

原创 线程的锁函数: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 7140 1

原创 用Python写FTP客户端程序

0 前言:ftp客户端相信大家都用过,那么我们为什么还要用Python写ftp客户端呢?我想有两个原因:一是写出更好的ftp客户端应用程序,方便大家使用;二是定制一些特殊服务,例如每天定时下载/上传某文件;我还没能力也没时间写出ftp客户端应用程序,前期先分析一下python写ftp客户端的核心部分,即实现上传和下载的关键部分。首先看一下ftp服务器/客户端架构:1 FTP服务器/客户端上图展示了f

2017-05-10 14:50:03 5462

原创 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 684

原创 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 1664

原创 使用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 1397

原创 使用select.select编写聊天室服务器 《Python网络编程攻略》

# 现实中,大型网络服务器可能要处理几百或几千个客户端同时连接的请求,此时为每个客户端创建单独的线程或进程可能不实际。因为主机的内存可用量和CPU的能力皆有限制。 要处理大量客户端的连接需要更好的技术,那就是Python提供的select模块。selectselect最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select()

2017-03-08 09:43:26 1098

原创 使用ThreadingMixIn实现多线程套接字服务器--《Python网络编程攻略》

不同于多进程套接字服务器,基于ThreadingMixIn的多线程套接字服务器具有诸多优势:线程间共享应用状态;避免进程间复杂的通信操作,等等。实现方法创建ThreadedTCPServer类,它将继承TCPServer和ThreadingMixIn类。客户端连接这个多线程服务器时,就会创建一个新线程进行处理。请求处理类ForkingServerRequestHandler会在一个新线程中将消

2017-02-28 22:45:34 4695

原创 使用多路复用套接字I/O提升性能之——ForkingMixIn 《Python网络编程攻略》

与前一例不同,本次考虑多个客户端连接服务器的情况,且可以异步通信。 服务器不需要在阻塞模式中处理客户发出的请求,而是单独处理每个请求。如果某个客户端接受或处理数据花了很长时间,服务器无需等待处理完成,即可使用另外的线程和其他客户端进行通信。实现方法SocketServer模块:利用SocketServer模块提供的类可以直接实现TCP、UDP及其他协议服务器。ForkingMixIn

2017-02-28 15:12:27 1679 1

原创 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 2845

原创 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 672

原创 《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 1726

原创 《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 544

原创 《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 509

原创 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 1665

原创 数据存储:从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 1357

原创 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 906

原创 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 4974

原创 在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 791

python 批量化修改文件名小程序

该python小程序能够对某个文件夹中的文件名实现批量修改,下载项目文件后,将被修改的文件放入movies文件夹,想要改成的文件名放在names.txt中,执行 change_file_name.py批量修改文件名。资源中已包含实现源代码和演示视频。

2017-11-23

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

TA关注的人

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