背景在实际项目实施中,会编写很多在服务器执行的作业脚本。程序中凡是涉及到数据库链接、操作系统用户链接、IP地址、主机名称的内容都是敏感信息。在纯内网系统中往因为开发时间紧迫,往往都直接将这些敏感信息明文方式写在脚本中了。稍微规范一点的,创建一个通用的config文件,将所有这类敏感信息记录在这个文件中,脚本以读取文件方式获取这些信息。这种方式的好处是脚本不用在应用迁移、灾备部署的时候再起不同的版本,尤其是大数据平台作业运行的脚本,如果是需要做灾备集群,这种
系统 2019-09-27 17:57:49 1685
00.比99%的用户所担心的魔力要更深。如果你犹豫是否需要他们,那你不需要它们(真正需要元类的人,能够确定地直到需要它们,并且不需要说明为什么需要)。“因为某物很酷”而编写它,似乎不是一种合理的判断,除非你在做试验或者学习。01.元类就是用来创建类的“东西”。你创建类就是为了创建类的实例对象。02.03.元类的主要目的就是为了当创建类时能够自动地改变类。04.元类修改:内省属性:__class__和__dict__这样的特殊属性允许我们查看Python对象
系统 2019-09-27 17:57:31 1685
背景由于工作性质,经常面对不同的问题,某些场景下SQL+Excel、常用办公软件不能处理,这时到网上找一些案例,自己动手用python处理。后续,借此博客记录比较典型的处理过程。后续,陆续实际处理的问题,如1.合并PDF2.拆分PDF3.敏感字段MD5脱敏4.从非架构化的大文本文件中提取指定条件的记录需求工作和生活中有时会遇到将多个pdf文件,合并成一个大文件的情况。例如,扫描时,普通扫描仪或打印机一页生成一个PDF,而一份资料实际多页。Adobe的收费版
系统 2019-09-27 17:57:30 1685
本文实例讲述了Python学习笔记之读取文件、OS模块、异常处理、withas语法。分享给大家供大家参考,具体如下:文件读取#读取文件f=open("test.txt","r")print(f.read())#打印文件内容#关闭文件f.close()获取文件绝对路径:OS模块os.environ["xxx"]获取系统环境变量os.getcwd获取当前python脚本工作路径os.getpid()获取当前进程IDos.getppid()获取父进程ID异常#读
系统 2019-09-27 17:57:26 1685
操作系统:macOSHighSierra10.13.3Python3.6因为此版本自带python2.7,就下载并安装了anaconda2的版本,结果使用的时候系统自带的python和anaconda里的python冲突,也就是装包的时候只在一处装了,另一处却不能使用。因此要配置环境变量,替代到系统自带的版本。python2.7总会发生中文字体乱码的情况,果断放弃,准备使用anaconda3.1.安装anaconda3在官网下载,并安装,直接都是下一步。2
系统 2019-09-27 17:57:25 1685
阅读更多python:>>>favorite_language='python'>>>favorite_language.strip()注:rstrip消右空白right()lstrip消做空白left()大小写:首字母大写.title()全小写.lower()全大写.upper()换行制表:换行符\n制表符\t列表:索引从0开始##提出列表中的某个元素:print(列表[索引])或者直接print("元素")##-1表示最后一个元素,以此类推##修改列表
系统 2019-09-27 17:57:20 1685
偶然发现了for…else…这种用法,使用这个实现了break跳出嵌套的for循环In[31]:foriinrange(1,5):...:forjinrange(5,10):...:print(i,j)...:ifj==6:...:break...:else:...:continue...:break1516for…else…的运行逻辑是当for循环正常执行结束就会运行其else语句,如果中途break的话,就不会执行else中的内容上面的代码实现了内存f
系统 2019-09-27 17:57:18 1685
对python中的控制条件、循环和跳出详解代码缩进(代码块):python用缩进表示代码块,没有其他语言的大括号缩进是强制检查,整个代码缩进必须一致,否则无法运行用2、4个空格或者tab缩进ide自动保证缩进一致If、elif和else的条件分支:ifif...elseif...elif..else没有switch、case语法空的列表、元祖、字符串、0都被评估为FalseNone被评估为False控制条件后面必须加":"a=100ifa>80:print
系统 2019-09-27 17:57:17 1685
一、listPython内置的一种数据类型是列表:listlist是一种有序的、可变的集合,可以随时添加和删除其中的元素。实例:列表:classmates>>>classmates=['Michael','Bob','Tracy']>>>classmates['Michael','Bob','Tracy']len()函数获取list元素的个数>>>len(classmates)3用索引来访问list中每一个位置的元素:索引从0开始,最后一个元素的索引是le
系统 2019-09-27 17:57:17 1685
多线程开发可能遇到的问题假设两个线程t1和t2都要对num=0进行增1运算,t1和t2都各对num修改1000000次,num的最终的结果应该为2000000。但是由于是多线程访问,有可能出现下面情况:fromthreadingimportThreadimporttimenum=0deftest1():globalnumforiinrange(1000000):num+=1print("--test1--num=%d"%num)deftest2():glo
系统 2019-09-27 17:57:16 1685