程序说明:本程序实现将开发程序服务器中的打包文件通过该脚本上传到正式生产环境(注:生产环境和开发环境不互通)程序基本思路:将开发环境中的程序包拷贝到本地堡垒机将程序包进行解压获得解压后的文件通同步到生产服务器上主要知识点:python库os.system()的基本使用利用python调用xshell命令程序使用方法:pythonaddline.py开发主机ip程序包目标主机ip上传目录上传编号如:pythonaddline.py240/home/shaoj
系统 2019-09-27 17:52:05 1789
#-*-coding:utf-8-*-importsys,os'''将当前进程fork为一个守护进程注意:如果你的守护进程是由inetd启动的,不要这样做!inetd完成了所有需要做的事情,包括重定向标准文件描述符,需要做的事情只有chdir()和umask()了'''defdaemonize(stdin='/dev/null',stdout='/dev/null',stderr='dev/null'):'''Fork当前进程为守护进程,重定向标准文件描述
系统 2019-09-27 17:51:55 1789
最近在工作中遇到一个问题,就是有一个功能希望在各种服务器上实现,而服务器上的系统版本可能都不一样,有的是CentOS6.x,有的是CentOS7.x。需要说明的一点是,CentOS6.x上的Python版本是2.6.x的,而CentOS7.x上的Python版本是2.7.x的,这意味着我要实现的功能要适配这两种版本的系统。你可能会说,这有什么的,自己写的时候,注意一下就好了。事情其实没有那么容易,我要实现的功能是基于一个框架进行定制,需要修改不少的框架代码
系统 2019-09-27 17:51:50 1789
Python标准库中有很多实用的工具类,但是在具体使用时,标准库文档上对使用细节描述的并不清楚,比如urllib2这个HTTP客户端库。这里总结了一些urllib2的使用细节。1.Proxy的设置2.Timeout设置3.在HTTPRequest中加入特定的Header4.Redirect5.Cookie6.使用HTTP的PUT和DELETE方法7.得到HTTP的返回码8.DebugLogProxy的设置urllib2默认会使用环境变量http_proxy
系统 2019-09-27 17:51:34 1789
关于声明并初始化二维列表想要快速创建一个二维列表如:5x3的二维列表[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]正确用法:#先创建一个一维列表tmp=[0,]*3result=[]foriinrange(5):#拷贝对象result.append(tmp.copy())result[0][1]=1print(result)#[[0,1,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]误用:#得到的
系统 2019-09-27 17:51:23 1789
打开excel文件读取数据data=xlrd.open_workbook("excelFile.xls")读取工作表table=data.sheets()[0]#通过索引顺序获取table=data.sheet_by_index(0)#通过索引顺序获取table=data.sheet_by_name(u'Sheet1')#通过名称获取获取整行和整列的值(数组)table.row_values(i)#获取整行值table.col_values(i)#获取整列
系统 2019-09-27 17:51:17 1789
B.py调用A.py的函数或类在同一个文件夹下调用函数:A.py文件:defadd(x,y):print('和为:%d'%(x+y))B.py文件:importAA.add(1,2)或fromAimportaddadd(1,2)调用类:A.py文件:classA:def__init__(self,xx,yy):self.x=xxself.y=yydefadd(self):print("x和y的和为:%d"%(self.x+self.y))B.py文件:fr
系统 2019-09-27 17:51:08 1789
今日主要内容函数初识函数定义函数调用函数返回值函数参数一、函数初识(一)为什么要用函数有一个需求,给出一个变量,计算变量的长度,要求不能使用len()s="郭老湿今天崩溃了,在后面直叹气"count=0foriins:count+=1print(count)我们利用上述一段代码完成了需求,很强666。但是问题来了,现在100个人每个人给你一个变量,让你计算变量的长度,此时只能苦逼的敲代码来计算!!!s=......count=0foriins:count+
系统 2019-09-27 17:51:05 1789
记住以下几点:直接子类化内置类型(如dict,list或str)容易出错,因为内置类型的方法通常会忽略用户覆盖的方法,不要子类化内置类型,用户自定义的类应该继承collections模块。def__setitem__(self,key,value):super().__setitem__(key,[value]*2)#错误案例classAnswerDict(dict):def__getitem__(self,item):#错误案例return42impor
系统 2019-09-27 17:50:43 1789
什么是浅拷贝?先看一个例子a=[1,2,3,4]b=aa.pop(0)print(a)print(b)输出:[2,3,4][2,3,4]正常对于这种可变对象的这种赋值,会导致a和b指向一个内存地址,而我们将a中的第0个元素剔除后,实质就是改变了对应的内存地址中的数值,所以会导致b也发生变化下面看一下浅拷贝:a=[1,2,3,4]b=a.copy()a.pop(0)print(a)print(b)输出[2,3,4][1,2,3,4]这种就是浅拷贝,拷贝的列表
系统 2019-09-27 17:50:34 1789