在linux2.6内核中,使用cdev结构体描述字符设备,cdev的定义在中可找到,其定义如下:引用structcdev{structkobjectkobj;structmodule*owner;conststructfile_operations*ops;structlist_headlist;dev_tdev;unsignedintcount;};cdev结构体中的dev_t成员定义了设备号,为32位,其中高12位为主设备号
系统 2019-08-12 01:33:10 2264
类和对象类:用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。方法:类中定义的函数。类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。局部变量:定义在方法中的变
系统 2019-09-27 17:57:15 2263
在工作中遇到一个需求,需要用Python脚本读取一个13G的文件,把每行的记录写入redis。由于机器的内存只有8G,所以不能一次将磁盘上的文件全部读入内存,需要一行一行读取文件。Python按行读取文件主要是使用file.readline方法或者利用file对象的迭代器性质,而file.readlines方法则是一次把所有内容从磁盘读入内存。当内存足够时,file.readlines方法显然会更快,因为磁盘I/O次数更少。下面给出了三种遍历文件每行的方式
系统 2019-09-27 17:56:36 2263
生成器在Python中,使用了yield的函数被称为生成器(generator)。生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。在调用生成器运行的过程中,每次遇到yield时函数会暂停并保存当前所有的运行信息,返回yield的值,并在下一次执行next()方法时从当前位置继续运行。调用一个生成器函数,返回的是一个迭代器对象。列表推导式空间开销大占用内存耗时大,.生成器保存的是算法,而列表保存的计算后的内容,所以同样内容的
系统 2019-09-27 17:56:08 2263
Python中表达式和语句及for、while循环练习1)表达式常用的表达式操作符:x+y,x-yx*y,x/y,x//y,x%y逻辑运算:xory,xandy,notx成员关系运算:xiny,xnotiny对象实例测试:xisy,xnotisy比较运算:xy,x<=y,x>=y,x==y,x!=y位运算:x|y,x&y,x^y,x<>y一元运算:-x,+x,~x:幂运算:x**y索引和分片:x[i],x[i:j],x[i:j:stri
系统 2019-09-27 17:54:38 2263
使用selenium浏览器自动化测试框架爬取网易云音乐电台专栏代码#!/usr/bin/envpython#-*-coding:utf-8-*-#@Time:2019/7/921:02#@Author:nick#@Site:http://www.isscollege.com/fromseleniumimportwebdriverfromselenium.webdriver.chrome.optionsimportOptions#实例化一个启动参数对象chr
系统 2019-09-27 17:53:26 2263
PythonSMTP发送邮件SMTP(SimpleMailTransferProtocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。Python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。Python创建SMTP对象语法如下:importsmtplibsmtpObj=smtplib.SMTP([host[,port[,local_hostname]]])参数说明:
系统 2019-09-27 17:52:12 2263
Python处理JSON数据时,dumps函数是经常用到的,当JSON数据中有特殊类型时,往往是比较头疼的,因为经常会报这样一个错误。自定义编码类#!/usr/bin/envpython#-*-coding:utf-8-*-#Author:wxnacy(wxnacy@gmail.com)importjsonfromdatetimeimportdatetimeUSER_DATA=dict(id=1,name='wxnacy',ts=datetime.now(
系统 2019-09-27 17:52:11 2263
标签云(TagCloud)常见于各种博客站点中,标签有利于网站内容分类,还可以用于相关性内容推荐。近日笔者有空把个人的开源博客Django_blog添加了一个新功能--标签云。实现原理标签云最终展现出来的效果其实是由两个HTML参数来控制的,分别是:font-size和color,如:django标签关联的文章越多,表示这个标签被引用的次数越大,font-size的值也越大,color的颜色越深。考虑到体验效果,font-size不能随着的标签的引用次数的
系统 2019-09-27 17:51:13 2263
全文共2955字,预计学习时长6分钟今天本文将介绍“Gridstudio”——一个基于网络的电子表格应用程序,集Python编程语言之大成。用Gridstudio着手解决的主要问题是散乱的工作流,这是进行数据科学项目,在例如Rstudio和Excel等多个工具间来回操作时所经历的。无数次导出CSV文件,行数过高导致应用程序窗口冻结,或是想要直截了当地做一些事(比如阅读一个JSON文件)……很多人都受够这些了。现存的工具无法提供高效产出的环境和相关的工作流。
系统 2019-09-27 17:51:04 2263