python中的操作系统(os)

1.返回操作系统类型

posix:表示linux操作系统,
nt,表示windows操作系统

print(os.name)

在这里插入图片描述

2.操作系统详细信息

import os       
info=os.uname() 
print(info)     
print(info.sysname) #获取操作系统的类型
print(info.nodename)   ##查看主机名

在这里插入图片描述

3.环境变量

import os                      
#查看后会发现其类型是字典                           
print(os.environ)              
#通过key值获取环境变量对应的value值         
print(os.environ.get('PATH'))             

在这里插入图片描述
注意:
1.在linux中使用命令env查看环境变量,电脑开机时所有的初始化的都在里面设置
2.PATH只是其中的一部分

4.系统的相关操作

1.判断是否是绝对路径

import os
from os.path import exists,splitext,join
print(os.path.isabs('/tmp/passwd'))
print(os.path.isabs('passwd'))         #文件不一定存在

在这里插入图片描述
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.创建目录/删除目录

import os
from os.path import exists,splitext,join
# mkdir -p test1/test2/test3
os.mkdir('img')
os.makedirs('img/file') #创建递归目录
os.rmdir('img')

在这里插入图片描述
递归删除时要保证目录为空,若不为空则无法删除。需先删除子目录

5.创建文件/删除文件

import os
from os.path import exists,splitext,join
os.mknod('s.txt')
os.remove('s.txt')

在这里插入图片描述

6.文件重命名

os.rename('data.txt','data1.txt')

在这里插入图片描述

7.判断文件是否存在

import os

print(os.path.exists('imgs'))

在这里插入图片描述
8.分离后缀名和文件名

import os
print(os.path.splitext('hello.jpg'))

在这里插入图片描述
9.目录名和文件名分离

import os
print(os.path.split('/tmp/hello/hello.jpg'))

在这里插入图片描述

5.遍历指定目录

import os
from os.path import 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、付费专栏及课程。

余额充值