吉大秦少游
吉林大学硕士,研究兴趣为芯片数字设计
展开
-
Pycharm使用指南
文章目录第三方库的管理第三方库的管理在Files——Settings——Project——Python Interpreter下点击“+”可以运用Pycharm下载和管理第三方库。需要注意的事Pycharm的库和cmd环境下pip install安装的库是不可复用的,也就是Pycharm下如果缺少某个库,通过pip安装是不行的。...原创 2021-12-11 00:26:42 · 832 阅读 · 0 评论 -
Python或软件HMI中如何处理用户输入非法的问题
从王者荣耀的bug中想到程序设计中如何处理用户的异常输入原创 2021-12-09 23:31:26 · 740 阅读 · 0 评论 -
Pycharm下可以正常运行,Pyinstaller打包软件报出Fatal error
pyinstaller打包含有matplotlib的项目出错的解决方案之前做了个数据分析的程序,因为要画图所以用到了matplotlib可是在pyinstaller打包的时候出错了我敢说网上所有的错误解决方法都试过了我用pip安装的matplotlib试了一遍,在pycharm里没问题,打包时却有File “matplotlib_init_.py”, line 563, in _get_data_path NameError:错误之后调整了一下,却有各种error,各种import错误,五花八门原创 2021-11-24 10:11:02 · 1078 阅读 · 0 评论 -
tkinter中text文本与scroll滚动条关联
tkinter制作UI界面时往往需要制作带滚动条的text窗口,这时候就需要关联scroll滚动条和text窗口,示例代码如下:import tkinterroot = tkinter.Tk()root.title('QJX window')root.geometry('400x300')# create text objecttext = tkinter.Text(root, height = '1')txt = 'This is a tkinter window\n\we want原创 2021-06-03 19:49:16 · 1129 阅读 · 0 评论 -
Python-错误和异常处理
Python-错误和异常处理1 语法错误2 异常2.1 异常介绍及异常类型2.2 异常处理2.2.1 场景1:判断用户输入的正确性2.2.2 场景2:捕获异常输入并处理2.3 异常触发2.4 异常链2.5 用户自定义异常2.6 定义清理操作2.7 预定义的清理操作Python中错误和异常是经常debug面对的主要内容,本文主要对这两方面进行梳理。错误:我理解的是指代码本身存在错误,指在程序运行之前由于语法错误导致程序无法运行。异常:是指程序能正常运行,但由于输入,或者输出打印时参数类型或者格式存在错原创 2021-04-02 10:46:45 · 302 阅读 · 0 评论 -
Python-logoru日志记录模块
Python-logoru日志记录模块1 loguru安装2 使用示例2.1 打印log2.2 写日志文件2.3 停止写日志文件2.4 滚动记录日志文件2.5 日志文件压缩Python编的脚本或者软件在使用时有时候需要对运行过程中出现的问题进行记录。因为有些问题是难以复现的,但是这些问题可以通过log文件记录下来,便于后期排故和维护。另外,当我需要看大量的地方或者在一个文件中查看的时候,这时候print就不大方便了,所以Python引入了日志记录模块来记录我想要的信息。Python自带的有logging转载 2021-03-17 22:51:53 · 1055 阅读 · 1 评论 -
语料库中异常字符清洗的Python脚本
语料库中经常会出现很多异常字符,写一个脚本将异常字符进行清理,如下:# coding=utf-8import osimport sysprint('请输入语料库所在的文件夹路径,并回车:')source_path = input() # 存放语料的文件夹pathDir = os.listdir(source_path) #获得语料文件夹下的所有文件名称list_unnormal = ['a','b','c','d','/'] # 异常字符集j = 0for s in p原创 2021-03-14 23:54:37 · 489 阅读 · 0 评论 -
Python-pyinstaller模块
Python-pyinstaller模块1 pyinstaller安装2 利用pyinstaller快速打包EXE文件2.1 直接打包2.2 打包时加入ico图标3 pyinstaller常用命令4 pyinstaller常见报错4.1 Failed to execute script xxx经常需要用到Python打包脚本文件成EXE格式,以便于其他电脑可以直接使用,而不需要繁琐的配置Python及其依赖包,pyinstaller就是这么个工具。下面将使用过程中的总结梳理如下。1 pyinstalle原创 2021-03-14 23:11:32 · 263 阅读 · 0 评论 -
Python打开文件时提示UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xad错误
Python读取文本时经常出现的可能错误:UnicodeDecodeError: 'gbk' codec can't decode byte 0xad in position...python的open方法默认编码取决于平台,如果是windows平台,默认编码是gbk,如果文件是utf8编码,就会报这个错误。因此上述错误的意思是Python在windows平台默认采用gbk方法打开文件时出现了错误,很可能的原因是文件编码方式不是gbk,这种情况下很可能是utf-8编码(当然也有可能不是,只是utf-原创 2021-03-09 09:02:01 · 23237 阅读 · 3 评论 -
Python-xlrd+xlwt+xlsxwriter模块
Python-xlrd+xlwt模块1 常用excel操作模块的对比2 xlrd3 xlwt4 示例1 常用excel操作模块的对比Python对excel的操作,经常需要用到的库是xlrd,xlwt,这两个是我比较常用的。实际上还有一些其它常用的模块,比较如下:比较XlsxWriterxlrdxlwtopenpyxl介绍创建xlsx文件xls文件读取xls文件写入读写xlsx,xlsm读x√x√写√x√√.xlsx√√x原创 2021-03-08 19:41:55 · 200 阅读 · 0 评论 -
Python-heapq模块
Python-heapq模块压堆heappush(heap, x)弹堆heappop(heap)堆化heapify(heap)弹堆和压堆heapreplace(heap, x)找n个最大最小元素nlargest(n, iter)/nsmallest(n, iter)堆排序列表一种著名的数据结构是堆(heap),它是一种优先队列。优先队列让你能够以任意顺序添加对象,并随时(可能是在两次添加对象之间)找出(并删除)最小的元素。相比于列表方法min,这样做的效率要高得多。实际上,Python没有独立的堆类型,转载 2021-03-03 09:45:30 · 360 阅读 · 0 评论 -
Python列表的常用方法小结
Python列表去重的常用方法小结1 乱序去重2 原序去重2.1 利用原列表的index属性作键2.2 建立新列表逐个判断Python列表有很多应用,就去重而言,又包括乱序去重和原序去重,常用的方法很多,有的也特别花哨,不用管这些花哨的。实用的方法总结如下:1 乱序去重乱序去重最常见的就是转化为集合,利用集合元素的互斥性进行去重,去重之后再转化为列表类型。如:l1 = [1,4,4,2,3,4,5,6,1]l2 = list(set(l1))print(l2) # [1, 2, 3, 4,原创 2021-03-02 23:51:20 · 204 阅读 · 0 评论 -
Python-OS库
Python-OS库1 操作系统相关函数1.1 查看操作系统类型 os.name2 路径相关函数2.1 查看当前路径 os.getcwd()2.2 判断是否为绝对路径 os.path.isabs()2.3 生成绝对路径 os.path.abspath()3 文件和目录相关函数3.1 创建/删除目录 mkdir(),mkdirs(),rmdir()3.2 删除文件 os.remove()3.3 文件重命名 os.rename()3.4 判断文件或路径是否存在3.5 分离文件名与后缀名 os.path.spli原创 2021-03-02 22:06:33 · 145 阅读 · 0 评论 -
dat模板文件读取的Python脚本
FPGA对视频检测中检测数字时,经常用模板匹配的方法,而模板文件很多以dat文件n行1列的格式存储,dat模板文件读取时需要按照模板的宽度和高度呈现。读取的脚本如下:### read Monitor FPGA template from .dat fileimport sysimport osimport xlwtdat_name = '\\Template_FD.dat'template_width = 34source_path = sys.path[0]dat_file_path原创 2021-03-01 11:13:03 · 574 阅读 · 4 评论 -
FPGA工程代码追溯的完整性检查(文件级别)的Python脚本
FPGA工程中做代码追溯时,如果追溯的比较粗一些,需要追溯到Verilog代码中.v文件,VHDL代码中的.vhd文件。为便于核查追溯是否有遗漏,编写了一个脚本,统计上述需要追溯的块元素,代码如下:import xlrdimport sysimport reimport os########################################################### Get source code name list #######################原创 2021-03-01 10:58:17 · 299 阅读 · 1 评论 -
统计FPGA工程中always块与process块的Python脚本
FPGA工程中做代码追溯时,如果追溯的比较细致,需要追溯到Verilog代码中的always块,VHDL代码中的process块,module的例化名,或者对assign语句的TAG标签。为便于核查追溯是否有遗漏,编写了一个脚本,统计上述需要追溯的块元素,代码如下:# coding=utf-8import osimport xlwt #操作excel模块import sysimport re# print(sys.path[0])table_path = sys.path[0]+'\\Mo原创 2021-03-01 10:43:18 · 399 阅读 · 0 评论 -
文件名批量读取的Python脚本
工程中在梳理源代码时,在做代码覆盖率分析,或者做需求-架构-代码追溯时,会用到统计所有代码的文件名(包含后缀,或者不包含后缀),写了个脚本如下,使用时让该脚本和放代码的文件夹置于同一级别路径下即可。# coding=utf-8import osimport xlwt #操作excel模块import sys# print(sys.path[0])table_path = sys.path[0]+'\\filename.xls' f = xlwt.Workbook(encoding='u原创 2021-02-20 20:39:35 · 467 阅读 · 0 评论 -
Python中数据类型的总结(未完成)
a,b = input().split(',')print(a)b = int(b)print(b)c = int(a,b)print(c)split方法分割字符串之后,a = ‘45’, b = ‘8’,int(b)之后b = 8, int(a,b)就是int(‘45’,8),意思为45要按照8进制格式,所以 c = 48^1 + 58^0 = 37;...原创 2020-12-10 10:25:46 · 223 阅读 · 0 评论 -
Python中format格式化输出方法(未完成)
先看一个题目:注意format格式化输出方法。print(‘f({0:.1f}) = {1:.1f}’.format(x,result)),两个大括号中的第一个0和第一个1,分别指的是x和result。原创 2020-12-10 10:21:24 · 1589 阅读 · 1 评论 -
python 程序员需要掌握的100个模块
本文所列举的这100个模块,是我在工作和学习中用过的或者正在学习的,算是对自己过去12年的学习总结。希望对处在迷茫中的程序员有所帮助。英汉小词典pythoneer - 指所有用python语言开发程序的人pythonista - 意为资深的、追求质量和品味的python开发者在这个列表中,我把模块分成11大类:1. 基础类2. 数据库接口类3. 网络通讯类4. 音像游戏类5. GUI类6. web框架类7. 科学计算类8. 2D/3D类9. 数据处理类10. 机器学习类1原创 2020-10-21 23:51:08 · 466 阅读 · 0 评论 -
经典解析:《一行Python代码能实现什么》及其解析
逛博客时偶然看到这篇文章,也见识了Python代码简洁、高效的魅力。对几个经典案例产生了兴趣,解读了一下,如下:背景背景是作者在处理头部CT的断层扫描图片时,需要将109张图片数据读出来,组织成一个三维的数据结构,如下:作者在引入numpy和PIL之后的代码如下:data = np.stack([np.array(Image.open('head%d.png'%i)) for i in range(109)], axis=0)其实,可以写成这样:data = list()for i in r原创 2020-10-20 00:07:55 · 302 阅读 · 0 评论 -
python中yield的用法详解——最简单,最清晰的解释
首先我要吐槽一下,看程序的过程中遇见了yield这个关键字,然后百度的时候,发现没有一个能简单的让我懂的,讲起来真TM的都是头头是道,什么参数,什么传递的,还口口声声说自己的教程是最简单的,最浅显易懂的,我就想问没有有考虑过读者的感受。接下来是正题:首先,如果你还没有对yield有个初步分认识,那么你先把yield看做“return”,这个是直观的,它首先是个return,普通的return是什么意思,就是在程序中返回某个值,返回之后程序就不再往下运行了。看做return之后再把它看做一个是生成器(ge转载 2020-10-19 19:38:28 · 262 阅读 · 0 评论 -
Python十大技巧语法
Python十大装B语法1. for - else2. 一颗星(*)和两颗星(**)3. 三元表达式4. with - as5. 列表推导式6. 列表索引的各种骚操作7. lambda函数8. yield 以及生成器和迭代器9. 装饰器10. 巧用断言assertPython 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活转载 2020-10-19 19:29:41 · 399 阅读 · 1 评论 -
Python MOOC练习3
1、平方值格式化描述获得用户输入的一个整数N,计算N的平方值;结果采用宽度20字符方式居中输出,空余字符采用减号(-)填充。如果结果超过20个字符,则以结果宽度为准。 输入输出示例 输入 输出 示例 1 10 --------100--------- n=eval(input())m=pow(n,2)...原创 2018-08-14 19:22:43 · 9492 阅读 · 2 评论 -
Python MOOC练习1
1、Hello World II 描述垂直输出"Hello World",全部代码不超过2行。t="Hello World"for i in t: print(i)2、N的多次方 描述编写一个程序,计算输入数字N的0次方到5次方结果,并依次输出这6个结果,输出结果间用空格分隔。其中:N是一个整数或浮点数。print()函数可以同时输出多个信息,采用如下方...原创 2018-08-12 18:55:53 · 469 阅读 · 0 评论 -
Python MOOC练习2
1、turtle正方形绘制import turtleturtle.fd(20)turtle.seth(90)turtle.fd(20)turtle.seth(180)turtle.fd(20)turtle.seth(270)turtle.fd(20)2、长度转换 I0331550282089428长度转换 I描述请编写程序,完成米和英寸之间的长度转换,基本...原创 2018-08-13 18:09:10 · 380 阅读 · 0 评论 -
Python MOOC练习4
2、求100以内的素数之和并输出。 输入格式 该题目没有输入输入输出示例 输入 输出 示例 1 无(红色字体不是OJ的输入) 说明:直接输出100以内的素数之和。(红色字体不是OJ的输出) #素数相加import mathN=100i=2num=2s=0for i in range(2,100): ...原创 2018-09-08 20:18:28 · 1776 阅读 · 0 评论 -
python中的随机函数random的用法示例
这篇文章主要介绍了python中的随机函数random的用法示例,详细的介绍了python 随机函数random的用法和示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下一、random模块简介Python标准库中的random函数,可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等。二、random模块重要函数1 )、random() 返...转载 2018-09-08 21:56:02 · 10086 阅读 · 1 评论 -
Python-Turtle库
Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。turtle绘图的基础知识:1. 画布(canvas) 画布就是turtle为我们展开用于绘图区域,我们可以设置它的大小和初始位置。 设...转载 2018-09-10 14:16:00 · 1851 阅读 · 0 评论 -
Python-Random库
下面是整理的Python的标准库Random库。一张图就可以清晰地了解基本上所有常用的random库函数。原创 2018-09-10 14:34:53 · 1875 阅读 · 0 评论 -
Python-Time库
在Python中,与时间处理有关的模块就包括:time,datetime以及calendar。这篇文章,主要讲解time模块。早Python中,时间的表示有以下3种形式:时间戳(timestamp)。时间戳指的是从1970年1月1日00:00到现在的时间,以秒数来表示。例如:>>> import time>>> time.time()1536...原创 2018-09-10 15:51:15 · 3689 阅读 · 1 评论 -
Python文本词频统计的编码问题-MOOC嵩天
1 Python文本词频统计代码1.1Hamlet词频统计(含Hamlet原文文本)#CalHamletV1.pydef getText(): txt = open("hamlet.txt", "r").read() txt = txt.lower() for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_‘{|}~': ...原创 2018-09-25 09:54:52 · 3893 阅读 · 0 评论 -
Python中的复数和误区
1 Python中的数据类型有复数类型:real+imagjeg:1+2j等等,使用的时候发现了这个问题:>>> 1+2j.real1.0>>> 1+2j.imag3.0>>> 1+(2j).imag3.0>>> a=1+2j>>> a.real1.0>&am原创 2019-02-22 20:33:36 · 13798 阅读 · 3 评论 -
Python计算圆周率的两种方法
一种是数学公式:code:#CalPiV1.pypi=0N=100for i in range(N): pi+=1/pow(16,i)*(4/(8*i+1)-\ 2/(8*i+4)-1/(8*i+5)-1/(8*i+6))print(pi)第二种是使用蒙特卡罗方法:code:#CalPiV2.pyimport randomimpor...原创 2019-02-23 09:42:31 · 32127 阅读 · 2 评论 -
Python实现七段数码管显示效果
Python实现七段数码管显示效果,可以实现显示年月日,但是不能动态地显示秒数的变化。因为海归作图的速度太慢,无法满足秒数的刷新要求#8DrawShuMaGuanV1.pyimport turtle,time #引入海龟作图体系和时间库def DrawGap(): #绘制数码管之间的gap turtle.pu() turtle.fd(5)def DrawLi...原创 2019-02-24 08:27:41 · 5150 阅读 · 0 评论 -
汉诺塔问题的C++和Python的递归实现
递归实现主要使用函数和分支语句,最重要的思想是区分清楚基例和链条两个部分,类似于数学里面的数学归纳法。C++实现:#include <iostream>using namespace std;void hanoi(int N,char source,char relay,char destination){ //递归函数的定义 if(N==1) //递归终结条件:...原创 2018-06-29 23:40:03 · 854 阅读 · 0 评论 -
windows的cmd环境下如何退出Python
cmd中如何退出Python (1)在命令行上输入exit() (2)在命令行上输入quit() (3)直接按住ctrl+Z原创 2019-02-24 16:53:35 · 6429 阅读 · 0 评论 -
Python pip怎么解决You are using pip version 10.0.1, however version 18.0 is available.
上述问题是pip下载器版本不对,解决需要分两步:1 检查有无pip在cmd环境下输入pip或者pip --version可以看到有无pip及其版本2 升级在cmd环境下输入python -m pip install --upgrade pip即可实现升级。注意最好在校园网环境下,因为感觉需要翻墙,否则会因为网速太慢终止。...原创 2019-02-24 17:01:56 · 2744 阅读 · 0 评论 -
Python pip 安装与使用
pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。目前如果你在 python.org 下载最新版本的安装包,则是已经自带了该工具。Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具。pip 官网:https://pypi.org/project/pip/你可以通过以下命令来判断是否已安装:pi...原创 2019-02-24 17:10:20 · 492 阅读 · 0 评论 -
Python实现科赫图形设计
#KochDrawV1.pyimport turtledef koch(size,n): if n==0: turtle.fd(size) else: for i in [0,90,-90,-90,90]: turtle.left(i) koch(size/3,n-1)def main(): ...原创 2019-02-24 21:52:37 · 1261 阅读 · 0 评论