编程技术 - 军军小站|张军博客
Python

仅用50行代码实现一个Python编写的计算器的教程

简介在这篇文章中,我将向大家演示怎样向一个通用计算器一样解析并计算一个四则运算表达式。当我们结束的时候,我们将得到一个可以处理诸如1+2*-(-3+2)/5.6+3样式的表达式的计算器了。当然,你也可以将它拓展的更为强大。我本意是想提供一个简单有趣的课程来讲解语法分析和正规语法(编译原理内容)。同时,介绍一下PlyPlus,这是一个我断断续续改进了好几年的语法解析接口。作为这个课程的附加产物,我们最后会得到完全可替代eval()的一个安全的四则运算器。如果

系统 2019-09-27 17:49:09 1809

Python

对python 树状嵌套结构的实现思路详解

原始数据原始数据大致是这样子的:每条数据中的四个数据分别是当前节点名称,节点描述(指代一些需要的节点属性),源节点(即最顶层节点),父节点(当前节点上一层节点)。datas=[["root","根节点","root",None],["node1","一级节点1","root","root"],["node2","一级节点2","root","root"],["node11","二级节点11","root","node1"],["node12","二级节点1

系统 2019-09-27 17:47:39 1809

Python

python中将字典转换成其json字符串

#这是Python中的一个字典dic={'str':'thisisastring','list':[1,2,'a','b'],'sub_dic':{'sub_str':'thisissubstr','sub_list':[1,2,3]},'end':'end'}//这是javascript中的一个JSON对象json_obj={'str':'thisisastring','arr':[1,2,'a','b'],'sub_obj':{'sub_str':'t

系统 2019-09-27 17:47:24 1809

Python

python使用 zip 同时迭代多个序列示例

本文实例讲述了python使用zip同时迭代多个序列。分享给大家供大家参考,具体如下:zip可以平行地遍历多个迭代器python3中zip相当于生成器,遍历过程中产生元祖,python2会把元祖生成好,一次性返回整份列表zip(x,y,z)会生成一个可返回元组(x,y,z)的迭代器>>>x=[1,2,3,4,5]>>>y=['a','b','c','d','e']>>>z=['a1','b2','c3','d4','e5']>>>foriinzip(x,y

系统 2019-09-27 17:47:13 1809

Python

Python 转换文本编码实现解析

最近在做周报的时候,需要把csv文本中的数据提取出来制作表格后生产图表。在获取csv文本内容的时候,基本上都是用withopen(filename,encoding='UTF-8')asf:来打开csv文本,但是实际使用过程中发现有些csv文本并不是utf-8格式,从而导致程序在run的过程中报错,每次都需要手动去把该文本文件的编码格式修改成utf-8,再次来run该程序,所以想说:直接在程序中判断并修改文本编码。基本思路:先查找该文本是否是utf-8的编

系统 2019-09-27 17:46:34 1809

Python

跟老齐学Python之集成开发环境(IDE)

当安装好python之后,其实就已经可以进行开发了。下面我们开始写第一行python代码。值得纪念的时刻:Helloworld如果是用windows,请打开CMD,并执行python。如果是UNIX类的,就运行shell,并执行python。都会出现如下内容:Python2.7.6(default,Nov132013,19:24:16)[GCC4.6.3]onlinux2Type"help","copyright","credits"or"license"

系统 2019-09-27 17:45:25 1809

Python

在Python的Django框架的视图中使用Session的方法

SessionMiddleware激活后,每个传给视图(view)函数的第一个参数``HttpRequest``对象都有一个session属性,这是一个字典型的对象。你可以象用普通字典一样来用它。例如,在视图(view)中你可以这样用:#Setasessionvalue:request.session["fav_color"]="blue"#Getasessionvalue--thiscouldbecalledinadifferentview,#orman

系统 2019-09-27 17:38:45 1809

Python

Python with用法:自动关闭文件进程

实际上,Python提供了with语句来管理资源关闭。比如可以把打开的文件放在with语句中,这样with语句就会帮我们自动关闭文件。with语句的语法格式如下:withcontextexpression[astarget(s)]:with代码块在上面的语法格式中,context_expression用于创建可自动关闭的资源。例如,程序使用with语句来读取文件:importcodecs#使用with语句打开文件,该语句会负责关闭文件withcodecs.

系统 2019-09-27 17:38:03 1809

Python

使用python telnetlib批量备份交换机配置的方法

使用了telnetlib模块,首先登录到交换机,列出并获取配置文件的名称,然后通过tftp协议将配置文件传输到文件服务器上,为避免配置文件覆盖,将备份的配置文件名称统一加入日期以作区分。1.登录方式和口令有好几种,比较懒惰,通过不同列表以做区分,如果每个交换机口令都不相同的话,就需要额外处理了。2.交换机的配置文件也有多种类型,也是通过列表进行区分。3.有些交换机支持ftp和sftp,但测试发现有些虽然有相应的客户端命令,但传输总有问题。也不能将每个交换机

系统 2019-09-27 17:57:11 1808

Python

Python3内置模块之Pickle和cPickle数据持久化方法小结

概述模块Pickle实现了对一个Python对象结构的二进制的序列化和反序列化。即当Python程序持续运行一些字符串、列表字典、甚至自定义的类等数据对象,需要持久化存储,即存储在磁盘中,防止运行在内存中,因断电等情况丢失数据。那么Pickle模块就派上用场了,它可以将对象转换为一种可以传输或存储的格式。python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过

系统 2019-09-27 17:56:58 1808

Python

python encode('utf8') problem

url='aa'printtype(url)printurl.encode('utf8')以上是ok的keyword="中国"printkeyword.encode("utf8")就会报错了UnicodeDecodeError:'ascii'codeccan'tdecodebyte0xe4inposition0:ordinalnotinrange(128)pythonencode('utf8')problem

系统 2019-08-29 22:48:28 1808

Python

Python 实现链表实例代码

Python实现链表实例代码前言算法和数据结构是一个亘古不变的话题,作为一个程序员,掌握常用的数据结构实现是非常非常的有必要的。实现清单实现链表,本质上和语言是无关的。但是灵活度却和实现它的语言密切相关。今天用Python来实现一下,包含如下操作:['addNode(self,data)']['append(self,value)']['prepend(self,value)']['insert(self,index,value)']['delNode(s

系统 2019-09-27 17:56:13 1807

Python

k8s python api二次封装 例子

k8spythonapi二次封装pipinstallpprintkubernetesimporturllib3frompprintimportpprintfromkubernetesimportclientfromosimportpathimportyamlclassK8sApi(object):def__init__(self):#self.config=config.kube_config.load_kube_config()urllib3.disab

系统 2019-09-27 17:54:23 1807