FTP一般流程FTP对应PASV和PORT两种访问方式,分别为被动和主动,是针对FTP服务器端进行区分的,正常传输过程中21号端口用于指令传输,数据传输端口使用其他端口。PASV:由客户端发起数据传输请求,服务器端返回并携带数据端口,并且服务器端开始监听此端口等待数据,为被动模式;PORT:客户端监听端口并向服务器端发起请求,服务器端主动连接此端口进行数据传输,为主动模式。其中TYPE分两种模式,I对应二进制模式、A对应ASCII模式;PASV为客户端发送
系统 2019-09-27 17:46:25 1728
truncate()方法截断该文件的大小。如果可选的尺寸参数存在,该文件被截断(最多)的大小。大小默认为当前位置。当前文件位置不改变。注意,如果一个指定的大小超过了文件的当前大小,其结果是依赖于平台。注意:此方法不会在当文件工作在只读模式打开。语法以下是truncate()方法的语法:fileObject.truncate([size])参数size--如果可选参数存在,文件被截断(最多)的大小。返回值此方法不返回任何值。例子下面的例子显示truncate
系统 2019-09-27 17:46:23 1728
用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,Python生成随机数print(random.randint(12,20))#生成的随机数n:12<=n<=20print(random.randint(20,20))#结果永远是20#print(random.randint(20,10))#该语句是错误的。print(random.randrange(1,100,2))#返回[1,100]之间的奇数19print(random.ranran
系统 2019-09-27 17:46:15 1728
3.练习题3判断语句要求:判断语句的作用是什么?列举你所想到的开发中使用判断语句的场景。编写代码,1-7七个数字,分别代表周一到周日,如果输入的数字是6或7,输出“周末”。参考代码:#coding=utf-8day=int(input("请输入1-7中任意一个数:"))ifday==1:print("今天是周一")elifday==2:print("今天是周二")elifday==3:print("今天是周三")elifday==4:print("今天是周
系统 2019-09-27 17:46:07 1728
关于基础项目打算招聘一个自动化运维,主要需求是python、Linux与shell脚本能力。但面试几天发现一些问题:简历虚假这个不管哪行,简历含水量大都是普遍存在的,看简历犀利的一比,一面是能力弱的一腿。谁都希望自己80分的能力写成120,但有时候假的有些离谱,问一两个问题就漏气了…年龄与薪酬目前的IT行业,最敢坐地起薪的就是27–33这年龄段的,低于范围的往往因为能力或者说跳槽经验少,而不敢要高价,高于这个年龄的感觉失去了针对年轻人的干劲与学习能力,所以
系统 2019-09-27 17:45:58 1728
命令行方式运行Python脚本在这个章节中,我们将写一些简单的数据库管理脚本。在此之前让我们来复习一下如何通过命令行方式执行Python脚本.如果Linux或者OSX的操作系统,需要有执行脚本的权限。例如:chmoda+xscript.py该脚本有个指向使用解释器的命令行。再脚本赋予执行权限后就可以通过命令行执行,就像这样:likethis:./script.py然而,在Windows系统上这样做是不行的,你必须提供Python解释器作为必选参数,如:复制
系统 2019-09-27 17:45:52 1728
创建一个软件包(package)似乎已经足够简单了,也就是在文件目录下搜集一些模块,再加上一个__init__.py文件,对吧?我们很容易看出来,随着时间的推移,通过对软件包的越来越多的修改,一个设计很差的软件包可能会出现循环依赖问题,或是可能变得不可移植和不可靠。1.__init__.py仅为导入服务对于一个简单的软件包,你可能会忍不住把工具方法,工厂方法和异常处理都丢进__init__.py,千万别这样!一个结构良好的__init__.py文件,仅为一
系统 2019-09-27 17:45:42 1728
1.文件的读取和显示方法1:复制代码代码如下:f=open(r'G:\2.txt')printf.read()f.close()方法2:复制代码代码如下:try:t=open(r'G:\2.txt')printt.read()finally:ift:t.close()方法3:复制代码代码如下:withopen(r'g:\2.txt')asg:forlineing:printlinepython虽然每次打开文件都要关闭,但是可能会由于异常导致未关闭,因此我们
系统 2019-09-27 17:45:38 1728
目录首先我们来安装Python,Python3.5+以上即可1、首先进入网站下载:点击打开链接(或自己输入网址https://www.python.org/downloads/),进入之后如下图,选择图中红色圈中区域进行下载。2、下载完成后如下图所示3、双击exe文件进行安装,如下图,并按照圈中区域进行设置,切记要勾选打钩的框,然后再点击Customizeinstallation进入到下一步:4、对于上图中,可以通过Browse进行自定义安装路径,也可以直
系统 2019-09-27 17:45:34 1728
背景:有一个爬虫服务,需要定时从公开网站上拉取一些数据,为了避免被识别为爬虫(防爬虫的识别需要根据很多特征,时间仅仅是其中一个维度),需要在指定的时间内,随机生成一个时间爬取脚本是python写的,直接上代码...importloggingimporttracebackfromdatetimeimportdatetimefromapscheduler.schedulers.backgroundimportBackgroundSchedulerschedul
系统 2019-09-27 17:45:32 1728
概述考虑这样一个问题,有hello.py脚本,输出”hello,world!”;有TestInput.py脚本,等待用户输入,然后打印用户输入的数据。那么,怎么样把hello.py输出内容发送给TestInput.py,最后TestInput.py打印接收到的”hello,world!”。下面我来逐步讲解一下shell的交互方式。hello.py代码如下:#!/usr/bin/pythonprint"hello,world!"TestInput.py代码如
系统 2019-09-27 17:38:38 1728
python异常处理机制和java类似,采用try-except-finally的结构.try-except检测异常格式复制代码代码如下:try:try_statementexcept(ErrorType1,ErrorType2),e:handle_statementfinally:finally_statement实例复制代码代码如下:#!/usr/bin/pythontry:a=12b=0c=a/bexceptException,e:print"Exc
系统 2019-09-27 17:38:36 1728
在我以前介绍Python2.4特性的Blog中已经介绍过了decorator了,不过,那时是照猫画虎,现在再仔细描述一下它的使用。关于decorator的详细介绍在Python2.4中的What'snew中已经有介绍,大家可以看一下。如何调用decorator基本上调用decorator有两种形式第一种:复制代码代码如下:@Adeff():这种形式是decorator不带参数的写法。最终Python会处理为:复制代码代码如下:f=A(f)还可以扩展成:复制
系统 2019-09-27 17:38:31 1728
你知道吗?实际上Python早在20世纪90年代初就已经诞生,可是火爆时间却并不长,就小编本人来说,也是前几年才了解到它。据统计,目前Python开发人员的薪资待遇为10K以上,这样的诱惑很难让人拒绝,所以这几年使得许多人纷纷学习Python。Python是一种解释型脚本语言,注重可读性和效率的语言,尤其是相较于Java,PHP以及C++这样的语言,它的这两个优势让其在开发者中大受欢迎,同时在运维领域也被大量运用到自动化运维场景中。如今使用到Python的
系统 2019-09-27 17:38:27 1728
如果直接对大文件对象调用read()方法,会导致不可预测的内存占用。好的方法是利用固定长度的缓冲区来不断读取文件内容。即通过yield。在用Python读一个两个多G的txt文本时,天真的直接用readlines方法,结果一运行内存就崩了。还好同事点拨了下,用yield方法,测试了下果然毫无压力。咎其原因,原来是readlines是把文本内容全部放于内存中,而yield则是类似于生成器。代码如下:defopen_txt(file_name):withope
系统 2019-09-27 17:38:24 1728