- 博客(15)
- 收藏
- 关注
原创 python3下读文件时如果文件不存在则创建文件
最近写python脚本的时候遇到个读写文件的问题,当我用with open打开文件读文件的时候如果文件不存在就会报FileNotFoundError这个错误,并且在加入了try之后使用API里面的mknod()函数创建也不行,经过探索,得出几种读文件时文件不存在则创建文件的解决办法。1. 仍然使用with open,但是mode参数为a,则当文件不存在时会自动创建,不会报错。with o...
2018-09-02 15:41:02 79962
原创 mysql表数据量大时查看行数和所占物理空间
1.背景近日需要对一张mysql表进行分表,先查一下它目前的数据量,没多想直接使用了以下sql。没想到根本跑不出来结果。select count(ID) from table_name;2.解决方法可以从mysql自带的information_schema库里查看相关信息。// 登录数据库// 切换information_schema数据库use information_schema;// 查询要查的表信息:行数、物理空间大小等等select * from TABLES wh
2020-12-02 22:04:08 1169 1
原创 mysql中删除一个表中的重复记录并只保留一条
爬虫爬数据的时候,有些记录会重复地插入数据库,如果直接用这些数据做实验,容易对实验结果造成影响,所以必要的时候,需要先清洗数据:把重复记录删除掉只保留一条。我们可以在实验过程中清洗数据,也可以直接在数据库中删除重复的数据。先从数据库中读取,在实验过程中去重。这样做无法解决根本问题,每次运行实验代码都要去重一次; 用sql语句实现。重点是写出高效率的且不违反mysql要求(mysql不允许边查...
2019-03-08 21:31:06 1460
原创 非递归广度优先遍历无向图(有向图)并打印出其路径
昨天有个朋友找我帮个忙,需要我帮他看个代码,实现从无向图中输出两个节点中的路径。他给了我一份代码,但是在遍历的过程中测试了很多次,基本都没有输出。我看了一下代码是深度优先遍历的,但是由于他的无向图节点有一万多个,并且每个节点的邻接节点又有几百几千个,在深度遍历过程中这个n叉树得不到控制,遍历路径的时间完全随缘,运行几小时也遍历不完。并且由于是深度遍历,输出的路径也是随缘,不会达到先输出最短路径...
2019-02-23 20:51:20 2096
原创 对Java中String类的忽略大小写比较器(CaseInsensitiveComparator)的compare方法的一点疑问
最近我在看jdk源码,无意中看到String类的忽略大小写比较器的源码,其源码如下。 private static class CaseInsensitiveComparator implements Comparator<String>, java.io.Serializable { // use serialVersionUID ...
2018-10-30 21:31:08 3266 4
转载 Comparable和Comparator的区别
Comparable和Comparator两个接口都是Java中的比较器,但是在使用中还是有区别的,要根据实际需求选择。ComparableComparable可以认为是一个内比较器,实现了Comparable接口的类:必须要实现compareTo方法,compareTo方法也被称为自然比较方法; 这些类是可以和自己比较的,至于具体和另一个实现了Comparable接口的类如何比较,...
2018-10-23 20:57:18 205
原创 RTTI:Class.forName("ClassName")和ClassName.class的区别
RTTI:即 Run-Time Type Identification,程序在运行时,通过运行时类型信息来检查某个引用所指的实际派生类型。其中运行时类型信息被包含在一个称为Class对象的特殊对象中,Java使用Class对象来执行其RTTI。Class.forName("ClassName")和ClassName.class主要有以下几点区别:Class.forName("ClassNa...
2018-10-18 10:13:52 794
原创 python字典遍历的几种方法
python的字典非常方便,常用的遍历方法有以下几种:1. 按照key遍历myDict = {"C":98.2,"C++":98.4,"Java":97.5,"Python":99.5}# 1.按照key遍历for key in myDict: print(key+": "+ str(myDict[key]) )for key in myDict.keys(): ...
2018-10-16 13:48:17 2198
原创 Java多态中的问题(三)构造器中调用多态方法
动态绑定:在运行时根据对象的类型调用恰当的方法。Java中除了static方法(构造方法可看做static方法)和final方法(private方法可看做final方法)之外,其他普通方法都是动态绑定的。测试在构造方法中调用该类的多态方法,代码如下。package polymorphism;class ConstructSuper{ protected int rr = 1; C...
2018-09-14 22:41:09 372
原创 Java多态中的问题(二)字段和静态方法
动态绑定:在运行时根据对象的类型调用恰当的方法。Java中除了static方法(构造方法可看做static方法)和final方法(private方法可看做final方法)之外,其他普通方法都是动态绑定的。1. 在利用多态特性时,如果直接访问某个字段,这个访问就将在编译器进行解析,不再是多态,以下代码可反映该问题。package polymorphism;class Super { ...
2018-09-14 21:43:48 388
原创 Java多态中的问题(一)“覆盖”私有方法
动态绑定:在运行时根据对象的类型调用恰当的方法。Java中除了static方法(构造方法可看做static方法)和final方法(private方法可看做final方法)之外,其他普通方法都是动态绑定的。如果在继承中,“覆盖”私有方法,并利用多态特性访问该方法,则可能得不到期望的结果,以下代码可反映问题。package polymorphism;public class Privat...
2018-09-14 20:56:20 688
原创 Java对象的创建过程
考虑一个名为Dog的类:当首次创建类型为Dog的对象时,或者Dog类的static方法/static字段/static域首次被访问时,Java解释器必须查找类路径(在事先设好的类路径里搜索),以定位Dog.class文件。 载入Dog.class,有关静态初始化的所有动作都会被执行。因此,静态初始化只在Class对象首次加载的时候进行一次。 new Dog()创建对象时,首先将在堆上为Do...
2018-09-10 17:28:58 213
原创 Java类成员的初始化顺序(静态、非静态、构造函数)
在类的内部,变量定义的先后顺序决定了初始化的顺序(在初始化优先级别相同的情况下)。 即使变量定义散布于方法定义之间,它们仍旧会在任何方法(包括构造方法)被调用之前得到初始化。 初始化优先顺序1>2>3: 静态变量/静态域,只调用一次; 非静态成员变量/非静态域,每new一次都要调用一次; 构造方法,每new一次都要调用一次。 示例代码:package in...
2018-09-10 17:11:57 421
原创 selenium.common.exceptions.StaleElementReferenceException: Message: Element not found in the cache
最近在用selenium+PhantomJS写程序的时候,其中有一部分是输入用户名密码然后点击登录的过程,在登录按钮操作的时候一直报错:username_input = wait.until(EC.presence_of_element_located((By.ID,'TB_userName')))passwd_input = wait.until(EC.presence_of_eleme...
2018-09-04 13:52:11 1336
原创 python+scrapy+selenium结合
第一篇CSDN博客,先写个笔记最近在学习python利用selenium爬取动态网站,因为之前学了scrapy框架,然后就不理解怎么把scrapy和selenium结合起来使用,看了几个文章,说的是用scrapy框架自动生成目录结构后,在middleware.py里面自定义自己的中间件代码。重要的方法就是process_request()。看的两个文章:http://www.j
2017-11-21 18:28:38 2344
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人