Python——操作系统(os)

博客介绍了系统查看相关内容,包括导入系统参数、返回系统类型、获取系统详细信息和环境变量等;还阐述了系统相关操作,如判断路径、创建或删除文件目录等;此外,提及遍历指定目录和Iterable可迭代的定义及判断方法。

系统的查看

1.系统及与系统相关参数的导入
import os
from os.path import exists,splitext,join
2.返回操作系统类型
import os
from os.path import exists,splitext,join
print(os.name)

在这里插入图片描述
注意:posix:表示linux操作系统,nt:表示windows操作系统

3.操作系统的详细信息
import os
from os.path import exists,splitext,join
info = os.uname()
print(info)
print(info.sysname)    ##操作系统
print(info.nodename)   ##主机名称

在这里插入图片描述

4.系统环境变量
import os
from os.path import exists,splitext,join
print(os.environ)

在这里插入图片描述

5.通过key值获取环境变量对应的value值
import os
from os.path import exists,splitext,join
print(os.environ.get('PATH'))

在这里插入图片描述

系统的相关操作

1.判断是否为绝对路径

是否为绝对路径 不判断是否存在,只判断是不是以根开始

import os
from os.path import exists,splitext,join
print(os.path.isabs('/tmp/hello/westos'))
print(os.path.isabs('hello'))

在这里插入图片描述

2.生成绝对路径
import os
from os.path import exists,splitext,join
print(os.path.abspath('hello.png'))
print(os.path.join('/home/kiosk','hello.png'))
print(os.path.join(os.path.abspath('.'),'hello.png'))

在这里插入图片描述

3.获取目录名或者文件名
import os
from os.path import exists,splitext,join
filename = '/home/kiosk/PycharmProjects/20190322/day05/hello.png'
#获取路径中的文件名
print(os.path.basename(filename))
#获取路径中的目录名
print(os.path.dirname(filename))

在这里插入图片描述

4.创建目录/删除目录
#4.创建目录/删除目录
#mkdir -p test1/test2/test3
os.mkdir('img')
os.makedirs('img/file') #创建递归目录
os.rmdir('img')

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:在上截图中,img目录下面还有个子目录,如果直接删除img目录则会报错:显示img目录不为空,因此在删除有子目录的目录时应递进删除,即先删除子目录,然后再删除指定要删除的目录。<.font>

5.创建文件/删除文件
os.mknod('a.txt')
os.remove('a.txt')

在这里插入图片描述

6.文件重命名
import os
from os.path import exists,splitext,join
# os.mknod('data.txt')
os.rename('data.txt','data1.txt')

在这里插入图片描述

7.判断文件或者目录是否存在
import os
from os.path import exists,splitext,join
print(os.path.exists('imgs'))
print(os.path.exists('data1.txt'))

在这里插入图片描述

8.分离后缀名和文件名
import os
from os.path import exists,splitext,join
print(os.path.splitext('hello.jpg'))

在这里插入图片描述

9.目录名和文件名分离
import os
from os.path import exists,splitext,join
print(os.path.split('/tmp/hello/hello.jpg'))

在这里插入图片描述

遍历指定目录

import os
from os.path import exists,splitext,join
for root,dir,files in os.walk('/var/log'):
    # print(root)
    # print(dir)
    # print(files)
    for name in files:
        print(join(root,name))

root 显示所有目录,因为运行pycharm的是kiosk用户,该用户对有的目录没有权限,所以没显示出来。
在这里插入图片描述
dir 显示所有目录,以及子目录
在这里插入图片描述
files 显示dir显示的目录下的文件
在这里插入图片描述
在这里插入图片描述

Iterable可迭代

定义:如果给定一个list,或者tuple,我们可以通过for循环来编历这个list或者tuple,这种遍历称之为迭代,可以通过下面方法来判断一个对象是否可迭代。
代码如下:

from collections import Iterable
# 判断是否可迭代时所导入的模块
f = open('/hello/passwd')
print(isinstance(f,Iterable))
for i,item in enumerate(f):   #验证该文件是否可迭代
    if i == 10:
        break
    print(i,item)

在这里插入图片描述上述代码执行结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值