先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Python全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024c (备注Python)
正文
- path:(必选)需要删除的目录(绝对路径/相对路径)
实例
import os
os.rmdir('newDir')
os.removedirs() 删除多级目录
递归删除多级目录,如果删除了最后一级目录,会尝试依次删除上级目录(删除不掉不会报错,因为大多是因为目录不为空)。
语法
os.removedirs( path )
参数
- path:(必选)目录路径
实例
import os
os.removedirs('myDir/dir1')
2、系统信息
os.name 获取操作系统类型
获取操作系统的类型,只有三个值nt
、posix
、java
- nt:Windows系统
- posix:Linux/mac系统
- java:java虚拟机
比如,我的电脑是Windows,就返回 nt
import os
print(os.name)
输出:
nt
os.environ 获取环境变量
获取系统环境变量等各种系统信息(导入OS模块时自动收集),字典格式,可以根据建获取
Windows常用字段
os.environ['HOMEPATH'] # 当前用户主目录。
os.environ['TEMP'] # 临时目录路径。
os.environ["PATHEXT"] # 可执行文件。
os.environ['SYSTEMROOT'] # 系统主目录。
os.environ['LOGONSERVER'] # 机器名。
Linux常用字段
os.environ['USER'] # 当前使用用户。
os.environ['LC_COLLATE'] # 路径扩展的结果排序时的字母顺序。
os.environ['SHELL'] # 使用shell的类型。
os.environ['LAN'] # 使用的语言。
os.environ['SSH_AUTH_SOCK'] # ssh的执行路径。
环境变量的增删改查操作
import os
environ = os.environ
# 新增
environ['环境变量名'] = '环境变量值'
# 删除
del environ['环境变量名']
# 修改
environ['环境变量名'] = '新环境变量值'
# 查询(变量不存在则返回默认值)
environ['环境变量名']
environ.get('环境变量名', '默认值')
# 判断(存在返回True,不存在返回False)
'环境变量值' in environ
os.getenv() 获取环境变量
根据环境变量名,获取环境变量的值,如果环境变量名不存在,就返回default。
语法
os.getenv( key, default )
参数
- key:(必选,str类型)环境变量名
- default:(可选)环境变量不存在时返回,默认值是 None
实例
import os
print(os.getenv('TEMP'))
输出:
C:\Users\WANGYU~1\AppData\Local\Temp
os.get_exec_path() 获取可执行文件路径
获取可执行文件路径,从 environ 对象中,返回可执行文件目录的列表。
语法
os.get_exec_path( environ )
参数
- environ:(可选)默认值None,即使用当前的 environ。
实例
import os
print(os.get_exec_path())
输出:
['E:\\data\\PrCharm\\pythonProject1\\venv\\Scripts', 'C:\\......
os.cpu_count() 获取CPU数量
返回系统的CPU数量,不确定就返回None。
语法
os.cpu_count()
实例
import os
print(os.cpu_count())
输出:
8
os.getlogin() 获取登录用户
获取当前登录用户,准确来说,是通过控制终端进程进行登录的用户名。
import os
print(os.getlogin())
os.getpid() 获取当前进程ID
获取当前进程ID
import os
print(os.getpid())
输出:
8212
os.getppid() 获取父进程ID
获取当前进程的父进程ID
import os
print(os.getppid())
输出:
14132
os.urandom() 获取随机字节
获取指定大小的随机字节,常用于加密。
语法
os.urandom( size )
参数
- size:(必选)指定随机字节的大小
实例
mport os
print(os.urandom(8))
输出:
b'\xb1\n\xbaw2\x88\x84\xf8'
2、进程管理
创建和管理进程的函数。
os.times() 获取进程时间
返回当前的全局进程时间,列表形式,有5个属性。
- user:用户时间
- system:系统时间
- children_user:所有子进程的用户时间
- children_system:所有子进程的系统时间
- elapsed:从过去的固定时间点起,经过的真实时间
Windows系统上,只有user、system两个属性有值,其他均为0。
语法
os.times()
实例
import os
times = os.times()
print(times)
输出:
nt.times_result(user=0.046875, system=0.109375, children_user=0.0, children_system=0.0, elapsed=0.0)
os.abort() 中断当前进程
发送SIGABRT
信号给当前进程,用来终止进程,如果进程没有中断,则函数不会返回。
- Unix系统会生成一个核心转储文件
- Windows系统立即返回退出代码
语法
os.abort()
比如,当程序出现严重错误时,调用 os.abort() 终止进程。
import os
try:
# 业务代码
pass
except:
os.abort()
补充:
- SIGABRT用来中止一个程序,处理函数返回后,所有打开的文件描述符将会被关闭,流也会被flush,程序也会结束。
- SIGABRT是一个暴力信号,可能会破坏进程的状态,应该谨慎使用。
os.system() 执行系统命令
执行系统命令,并在控制台输出执行结果
语法
os.system( commend )
参数
- commend:(必选)需要执行的命令
实例
import os
os.system('ping www.baidu.com')
输出:
���� Ping www.a.shifen.com [39.156.66.18] ���� 32 �ֽڵ�����:
���� 39.156.66.18 �Ļظ�: �ֽ�=32 ʱ��=17ms TTL=50
���� 39.156.66.18 �Ļظ�: �ֽ�=32 ʱ��=16ms TTL=50
os.popen() 执行shell命令
通过Python执行系统命令,返回命令的执行结果(文本类型的对象)。
语法
os.popen( command, mode, buffer )
参数
- command:(必选)需要执行的命令
- mode:(可选)文件打开模式,默认值
r
(只读模式) - buffer:缓冲区大小,
实例
import os
out = os.popen('ping www.baidu.com')
print(out.read())
输出:
正在 Ping www.a.shifen.com [39.156.66.14] 具有 32 字节的数据:
来自 39.156.66.14 的回复: 字节=32 时间=13ms TTL=50
来自 39.156.66.14 的回复: 字节=32 时间=48ms TTL=50
os.startfile() 打开文件
自动打开文件,绝对路径要用/
,相对路径要用 \
语法
os.startfile( path )
实例
import os
os.startfile('newDir\myFile')
执行后,桌面上会打开指定的文件。
3、错误/异常
OS模块所有函数都会抛出OSError
及其子类
BlockingIOError
OSError
的子类
当在设置为非阻塞操作的对象(例如:套接字)上,执行阻塞操作时触发。
ChildProcessError
OSError
的子类
子进程上的操作失败时触发。
ConnectionError
OSError
的子类
与连接相关的问题的基类,常见的有它的子类。
BrokenPipeError
ConnectionError
的子类
管道中断时触发。
管道是单向通信的,在管道另一端关闭时写入,或者在已经关闭的套接字上写入,都会导致管道中断。
ConnectionAbortedError
ConnectionError
的子类
连接被对端终止时触发。
这种异常通常意味着网络连接被意外中断,可能是服务器出现故障、网络拥堵等原因导致的,比如 服务器返回的响应超时或断开了连接。
ConnectionRefusedError
ConnectionError
的子类
连接被对方拒绝时触发。
常见的原因有:
- 你想连接的服务器没有启动相关服务
- 防火墙阻止连接
- 端口被占用,关闭占用端口的服务
- IP或端口错误
ConnectionResetError
ConnectionError
的子类
对端重置连接时触发。
常见的原因有:
- 高延迟或丢包等网络错误导致连接中断
- 防火墙等ACL访问控制出于安全原因阻止了连接
FileExistsError
OSError
的子类
创建的文件或目录已经存在时触发
FileNotFoundError
OSError
的子类
请求的文件或目录不存在时触发
InterruptedError
OSError
的子类
系统调用被传入信号中断时触发
IsADirectoryError
OSError
的子类
对目录执行文件操作时触发
NotADirectoryError
OSError
的子类
对文件执行目录操作时触发
PermissionError
OSError
的子类
执行的操作没有足够的访问权限时触发
ProcessLookupError
OSError
的子类
指定的进程不存在时触发
TimeoutError
OSError
的子类
系统功能在系统级别的超时时触发
文末有福利领取哦~
👉一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
👉二、Python必备开发工具
👉三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉 四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(文末领读者福利)
👉五、Python练习题
检查学习结果。
👉六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
👉因篇幅有限,仅展示部分资料,这份完整版的Python全套学习资料已经上传
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注python)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(文末领读者福利)
👉五、Python练习题
检查学习结果。
👉六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
👉因篇幅有限,仅展示部分资料,这份完整版的Python全套学习资料已经上传
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注python)
[外链图片转存中…(img-zXbbmjcd-1713419167540)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!