《Python入门到精通》os模块详解,Python os标准库(1)

E:\data\PrCharm\pythonProject1


#### os.getcwdb() 获取工作目录


获取当前工作目录,二进制序列(bytes)类型。



import os

print(os.getcwdb())


输出:



b’E:\data\PrCharm\pythonProject1’


#### os.chdir() 修改工作目录


修改当前工作目录


**语法**



os.chdir( path )


**参数**


* path:(必选,str类型)需要修改的路径


**实例**



import os

os.chdir(‘E://data’)
print(os.getcwd())


输出:



E:\data


#### os.mkdir() 创建目录


创建目录,如果目录已存在会报错 FileExistsError,如果路径中父目录不存在会报错 FileNotFoundError。


**语法**



os.mkdir( path, mode )


**参数**


* path:(必选)目录的路径(绝对路径/相对路径)
* mode:目录的权限(某些系统会忽略)


**实例**



import os

os.mkdir(‘myDir’)


当前目录下创建了目录


![在这里插入图片描述](https://img-blog.csdnimg.cn/4a3128dcc8634054876d0124cb873ed0.png)


#### os.makedirs() 创建多级目录


创建多级目录,上级目录不存在也会自动创建。


**语法**



os.makedirs( path, mode )


**参数**


* path:(必选)目录的路径(绝对路径/相对路径)
* mode:目录的权限(某些系统会忽略)


**实例**



import os

os.makedirs(‘myDir/dir1’)


当前目录下创建了目录


![在这里插入图片描述](https://img-blog.csdnimg.cn/ba98350870ca436b8c1e9a0854735fc4.png)


#### os.rmdir() 删除目录


删除目录,如果目录不存在,会报错 FileNotFoundError;如果目录不为空,会报错 OSError。


**语法**



os.rmdir( path )


**参数**


* 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 )


**实例**



### 最后

不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~  

给大家准备的学习资料包括但不限于:  

Python 环境、pycharm编辑器/永久激活/翻译插件  

python 零基础视频教程  

Python 界面开发实战教程  

Python 爬虫实战教程  

Python 数据分析实战教程  

python 游戏开发实战教程  

Python 电子书100本  

Python 学习路线规划

![](https://img-blog.csdnimg.cn/d29631674929476f9c3b30f7ff58dff0.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZlaTM0Nzc5NTc5MA==,size_16,color_FFFFFF,t_70)




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里无偿获取](https://bbs.csdn.net/topics/618317507)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值