收集整理了一份《2024年最新Python全套学习资料》免费送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来
如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
正文
pexpect是 Don Libes 的 Expect 语言的一个 Python 实现,是一个用来启动子程序,并使用正则表达式对程序输出做出特定响应,以此实现与其自动交互的 Python 模块。它可以用来实现与ssh, ftp, telnet等程序的自动交互,参考官方文档:https://pexpect.readthedocs.io/en/stable/
安装均可以使用pip进行
注意:windows和linux安装模块是不同的。如下:
在linux下安装:pip3 install pexpect
在windows下安装: pip3.exe install winpexpect
在windows系统里创建子程序是:
import winpexpect
child = winpexpect.winspawn(‘command’)
另:run(), pxssh()均不可使用
在linux系统里创建子程序是:
import pexpect
child = pexpect.spawn(‘cmd’)
模块内主要的类/函数介绍
spawn / winspawn 类
作用:可以实现更复杂的交互,通过生成子程序进行sendline(发送命令)与expect(返回操作符)进行交互。
class spawn
def __init__(self, command, args=[], timeout=30, maxread=2000,
searchwindowsize=None, logfile=None, cwd=None, env=None,
username=None, domain=None, password=None)
个别参数解释:
timeout:交互等待的超时值,默认30秒
maxread:设置read buffer大小,
searchwindowsize:从输入缓冲区中进行模式匹配的位置,默认从开始匹配。
logfile:指定日志的记录位置
注意:pexpect不支持管道,重定向或通配符,如果需要使用,需要重新打开一个shell
简单用法:
第一步创建子程序,输入执行的操作命令,我这里是以telnet远程终端为例
child = pexpect.spawn(‘telnet ipaddress’)
第二步从子命令返回的结果中进行匹配,语法:expect(pattern, timeout=-1),
pattern参数说明:可以为字符串,正则表达式,EOF,TIMEOUT,或者是以上类型的列表,若只提供字符串,匹配成功后返回0,若提供列表,匹配成功后返回列表的索引序号。未匹配成功,则会引发异常
timeout:为-1 使用默认的超时期限,设置为NONE,将阻塞至返回信息
child.expect(‘password:’)
第三步匹配成功后,发送交互信息,这里发送密码
child.sendline(mypassword)
获取命令执行结果主要由3个基本属性。
child.before:输出匹配点之前的命令执行结果
child.after:输出匹配成功后的匹配点内容,如标识符:hostname#>
child.match:保存已匹配的匹配点对象,可以使用string,打印命令的执行结果。
pxssh类
是pexpect的派生类,用于建立ssh连接,比pexpect直接使用ssh时简单一些,内建3个方法:
login() 建立到目标机器的ssh连接;
logout() 释放该连接;
prompt() 等待提示符,通常用于等待命令执行结束。
pexpect.EOF 异常错误
获取pexpect错误信息,可能会有两种 EOF 异常被抛出,但是他们除了显示的信息不同,其实本质上是相同的。为了实用的目的,不需要区分它们,他们只是给了些关于你的 python 程序到底运行在哪个平台上的额外信息,这两个显示信息是:
End Of File (EOF) in read(). Exception style platform.
End Of File (EOF) in read(). Empty string style platform.
(1)Python所有方向的学习路线(新版)
这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
最近我才对这些路线做了一下新的更新,知识体系更全面了。
(2)Python学习视频
包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。
(3)100多个练手项目
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
提升。**
如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
[外链图片转存中…(img-8RyxL4WI-1713853065873)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!