19 caimouse

尚未进行身份认证

我要认证

毕业于西北工业大学,在IT行业有20多年的经验。

等级
TA的排名 26

Python一分钟实现CSV文件读写

跟CSV文件打交道已经很久了,但是脑海里还是记得很清楚,原因就是留下的印象太深刻,仿佛就是昨天发生的样子。记得那一年还是快要大学毕业那年,由于实验数据很多,至少有几个G。由于数据太多,导师要求我们把数据处理一下,把有用数据的抽取出来。就这么一个简单的任务,居然还做出了惊天动地的大错,差点毕业都是成为问题。原来是这样的,共同做实验里有一个同学,他为了显示他惊人的编程能力,采用C语言来编写程序来读取CSV文件,并进行过滤数据,结果他把文件名写错了,把原始的CSV文件数据写入过滤后的数据,结果原始数据丢失了。当他

2020-10-25 10:14:38

Python一分钟实现JSON文件读写

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理

2020-10-25 09:05:04

Python极简方法生成Zip文件

进入到21世纪之后,最痛苦的事情,就是数据大爆炸。因为生活无处不在生成数据,比如你发一下微信,发一下图片,再照一些图片,再扫码付款,再到乘车等等。现在各个大公司都在处理大数据的问题,有人说数据就是石油,因为有了数据才能训练AI的模型,才能把数据当燃料,不断地驱动AI向前发展。 当你现在走进沃尔玛时,再也看不到以前的秤,取而代之的是人工智能电子秤。这个人工智能的电子秤非常好用,与之前相比有很大的进步。在这之前,当人们要去买苹果时,拿袋子去选择了苹果之后,拿到秤那里进行称重,这是比较麻烦的事情。因为放...

2020-10-24 18:29:41

Tk应用程序:列表控件

Listbox控件可以在用户界面上呈现一个文本列表,用户可以从控件视图中进行选择。调用insert方法可以向列表插入元素,方法声明如下:insert(index, *elements)index参数表示要插入元素的位置。如果使用整数值,表示从此索引所对应的元素之前插入新元素;如果index参数为end,则表示始终将新元素插入列表的末尾;如果index参数为active,表示在Listbox控件当前被选中的元素索引处插入新元素。调用delete方法可以删除一个或多个元素,方法定义如下:de

2020-10-24 11:06:45

Tk应用程序:复选按钮

前面已经学习过单选框,可以从众多的选项里进行唯一的选择,这是很简单的做法,但是这个世界往往没有这么单纯,也就是说这个世界不是像计算机世界里0和1这种表示,而是存在灰度的区域,或者说模糊答案。比如经久不衰的美女问题,当一个男人要选择一个美女谈对象时,往往列出很多条件,这些条件不是单选项,而是复选项。例如脸型好看,身高合适,身材好,或者在这三个条件里综合起来,又或者只要一条即可。因此,要表示这种关系问题,就需要使用复选按钮了。 为了简单起见,只给出美女标准的三个选项,如下图:要实现上面图片的功...

2020-10-23 11:37:08

Tk应用程序:单选按钮

单选按钮比较常用,主要用在多选择一的情况。往往很多情况下,提供多个选项,但是只能选唯一的答案。比如一个人的性别,不能既选择男,又选择女,这种情况下使用就最合适。在Tk应用程序里,使用控件Radiobutton来实现它。如果在同一个容器中,存在多个Radiobutton控件,那么在同一时刻,只能有一个Radiobutton控件被选中。这时Radiobutton控件具有互斥关系。因此在使用这个控件时,要记得创建一个容器frame,把单选控件放到里面。在创建Radiobutton实例时,要使用两个参数value和

2020-10-23 09:27:50

Tk应用程序:密码输入框

密码输入框是一个比较常用的控件,因为很多情况下,总有一些输入数据不见得人的,比如你登录电脑的密码,又或者你自己加密的邮件,或者有一些设备管理权限的密码。特别像现在开放办公室越来越多,很多同事就坐在你自己的边上,这时就不好意思把输入的密码显示在电脑屏幕上面了,因为同事瞄一下,就全记住了。如果密码泄漏出去之后,由于某种原因与同事关系紧张的,导致删库跑路的事情。因此,掌握密码输入框,就成为界面开发人员的必备技能。 在Tk应用程序里,主要使用Entry控件来实现,它可以用于文本输入,如果将控件的sh...

2020-10-22 16:37:39

Tk应用程序:解决长按按钮自动增加数值

在很多年前,有一个同事开发一个应用程序,这个程序是管理库存的,并且是给老板使用的。有这么样一个功能,当按下增加库存按钮,库存量的计算数就增加。一开始设计为用户按下一次,就增加1,按一百次就增加一百。突然有一天,老板要求长按着按钮就可以不断地增加,不必要不断地点击,因为点击要浪费时间,同时手指要运动多,导致手指关节痛。这个同事,就为了开发这个功能,大打军令状:一小时搞定。立即就开始干了起来,一直到下班时候,还是没有搞好。我去问了一下原因,他说使用多线程技术,当按着时就让这个线程计数,当离开时就退出计数。而他的

2020-10-21 15:52:23

Tk应用程序之界面颜色和字体

在应用程序的界面设置上,常常有前景颜色、背景颜色、字体、执行的属性等等。先从简单的界面颜色开始,因为不一样的颜色在不同的应用场合很重要,比如开发恋爱相关的应用,可能会使用粉红色;如果开发小孩子的应用,那么就是五颜六色;如果开发工业上的应用,那么就要注意行业的标准,例如火线用红色表示,英文bai简写L(LINE)线du;零线用蓝色表示,zhiN(NEUTRAL)线;黄绿相间(俗称花线)表示地dao线(E线)。因而颜色的使用是应用界面程序的首先考虑的问题。前景颜色通常作用于控件中所呈现的文本,背景颜色则作用

2020-10-21 10:43:01

Tk应用程序之place界面布局

前面学习了两种Tk界面布局方法:pack和grid布局,使用起来适合不同的场合,如果精度要求不高,倒是够用了,但是如果要求到像素级别的布局,这时就要使用place布局了。因为place界面布局是采用像素坐标来进行绝对位置定位,或者使用相对坐标来定位,完全是按界面上每一点的像素来排列。此种布局方式精确度最高,也是最为灵活的。place方法的常用参数如下:anchor:    组件对齐方式; x:     组件左上角的x坐标; y:    组...

2020-10-20 16:16:00

Tk应用程序之grid界面布局

前面使用过pack方式来进行界面布局,这个方式是当界面上控件比较少时使用的,并且控制布局的精度比较低。如果想在界面上有很多控件的情况下进行布局,就需要换另外一种方式,这就是grid布局。这种方式的布局,就像一个电子表格一样,可以每一个格子里放上一个控件,也可以两个格子里放上一个控件,或者更多的格子里放上一个控件。这种布局方式比较灵活,而且容易控制。在布局之前,不需要划分网格的大小,程序会自动根据窗口中控件的定位参数自动计算单元格数量。 控件的grid组件使用行列的方法放置组件的位置,参数...

2020-10-19 16:31:57

做技术的出路在哪里?---什么叫有前途?钱图钱图,用最省力的方式挣到更多的钱的路径就是前途

很多软件工程师,也有这样困惑,不如来看看FPGA工程师的讨论过程。不光是FPGA工程师,应该是绝大多数技术从业者都有文章中所提到的困惑和成长的烦恼,就像文中所说,大可不必过分担忧,99%的担心都是不会发生的。如果你喜欢技术,那大可放心,随着国家的发展,对技术的尊重,总有一天会有类似国外工程师的环境,五六十岁还做一个纯正的工程师,也没有什么不可以的。如果仅把工作作为一个养家糊口的工具,那也没有问题,FPGA将存在很长一段时间,因为存在即合理。FPGA也在向异构方向发展,作为传统F...

2020-10-19 12:58:06

Tk应用程序之pack界面布局

在开发界面应用程序时,往往最先要考虑的就是界面的布局,因为界面对于用户来说,就是第一感觉,对于一个软件是否有兴趣,这一感觉很重要,就像男人去看女人第一眼是否有感觉一样。因此,界面布局决定用户的选择,也决定了用户使用是否方便,所以无论哪一个软件开发人员,都需要重视界面布局,也只有重视它,才能让你的软件走入千家万户,才能实现软件的价值。 在Tk应用程序里,布局的方法有很多种,在这里先来学习pack方法布局,它是基于相对位置进行布局,这种布局方式最为简单,但是精度不高,而且不太灵活,适用于窗口里控...

2020-10-18 11:03:42

Tk应用程序界面之Frame容器使用

当你想创建一个窗口的应用程序,需要把一个窗口分成几块区域使用,就需要使用Frame来分割窗口,Frame就当作一个容器,然后在这个容器里添加其它组件。这种操作也叫做窗口布局。下面就来详细演示这个容器的使用。导入tkinter模块,命名为tk。import tkinter as tk继承Frame类。class myApp(tk.Frame): def __init__(self,title = 'My App'): #调用基类构造函数 tk...

2020-10-16 10:13:50

Tk应用程序界面开发

Tk类表示用户界面应用程序的顶层组件,常用来创建应用程序的主窗口,也是Python开发界面应用程序常用的方法之一。只要实例化Tk类,就可以创建一个带有空白主窗口的应用程序。要想使应用程序运行起来,并与用户进行交互操作,这需要调用mainloop方法,此方法是应用程序的主消息循环,使应用程序可以不断响应用户的各种事件,比如用户鼠标点击。下面来简单地创建一个演示窗口,显示结果如下:要创建这个窗口,可以使用下面的步骤:导入tkinter模块中的所有成员from tkinter import *

2020-10-15 10:35:10

学习算法笔记(13)

很多年前,在一个大热的夏天,去深圳一家有名的企业面试,刚坐下不久,面试官就给我提了一个要求:先来写一个堆排吧。这时,我一下就懵了,因为堆排早就忘记,已经有一段时间没有碰过了,在记忆里还是在大学老师课堂上,那时不觉得这种算法有什么好学的,是因为当时认为好的排序算法都有现成的算法库,作为一个程序员还需要去学习这种排序算法吗,因此对于课堂上老师说的排序算法,总是提不起兴趣,所以在脑海里记得不够深入,再想把这个堆排写出来,真是有点力不从心。最后这次高薪的工作机会给弄丢了,年薪几十万的工作就这样给弄丢,后果也很严重,

2020-10-14 12:44:58

数字人民币终于来了!就在深圳!

最近,深圳以红包雨的方式发行了1000万元的数字人民币,数字货币在中国已经从设想变成了现实。对普通人而言,数字人民币的到来,到底意味着什么呢? 先来看看最近在深圳试点的数字人民币是怎么回事。作为央行推行数字人民币的四个试点城市之一,最近深圳市罗湖区和央行联手,以红包的形式向深圳的5万个人发放总额1000万的数字人民币,每个红包价值200元,这些红包发放到个人的数字人民币钱包里,在有效期之内可以在指定商户进行消费。这意味着,数字人民币已经真真切切走进了我们的生活。如果试点城市进展顺利,将在...

2020-10-13 12:32:07

学习算法笔记(12)

国庆假期刚过,正坐在沙发上跟老婆聊天,突然老婆问我这8天假期哪天花钱最多,是啊,我也要想想哪天花钱最多,今年这样的经济情况是几十年来遇到最大的困难之一,远比非典那年影响更大。接着下来,就是思考怎么样办了。要知道哪天花钱最多,那么就要先计算出来每一天的花费,然后再来进行一个排序,最后就清楚那天花钱最多了。由此可见,生活里是缺少不了排序算法。 很多计算机科学家认为排序是算法研究中最基础的问题,其中的原因有很多,但是对于想进入计算机相关工作的人来说,无疑是必须学习的。因为不学习排序算法,根本面...

2020-10-12 12:15:18

软件开发的12大定律,你是否使用了呢

这些定律虽然发现了很早,在2000年就已经发现出来了,到目前已经过去了20年,但是目前在国内还有很多公司,还是过不了这12大定律的测试,还是极其地不及格,不作为,让人痛心不已。如果要成为一个好的团队,一个好的公司,必须过了这12大问题,才是一个合格的公司。1、你是否使用源码版本管理?2、你是否只用一步就编译所有的工程代码?3、你是否自动化每日构建出工程?4、你是否有BUG管理系统?5、你是否写新的代码之前完成修改BUG?6、你是否有持续更新的功能计划?7、你是否有功能说明书?8、你是否拥有

2020-10-06 11:28:02

学习算法笔记(11)

当一开始学习到《概率分析和随机算法》时,一头雾水,这里倒底是想干什么呢?概率在算法里有什么作用?另外为什么要使用随机算法?如果你不熟悉概率论的基本知识,就更会抓狂。由此可见,要学习计算机不懂数学,是不行的。如果想学会算法,不懂数学就更加不行了,在这里无论怎么强调数学的重要性都不为过。有人曾经说过,21世纪的文盲不是不会读书识字,而是不懂数学,现在是人工智能时代、大数据时代,利用数学的机会更多了。 首先来解决第一个问题,就是概率在算法中有什么用。要理解这个,得从一个问题中进行理解,这个问题在书...

2020-10-05 19:51:32

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 1024超级勋章
    1024超级勋章
    授予原创文章总数达到1024篇的博主,感谢你对CSDN社区的贡献,CSDN与你一起成长。
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 博客之星-入围
    博客之星-入围
    授予每年博客之星评选结果第21-200名的用户