os的基本操作
1、查看操作系统类型
import osprint(os.name)print('Linux'if os.name=='posix'else'Windows')
2、查看操作系统的详细信息
import os
info=os.uname()print(info)print(info.sysname)print(info.nodename)
3、查看系统环境变量
4、查看是不是绝对路径
import os
print(os.path.isabs(’/tmp/fff’))
print(os.path.isabs(‘data.txt’))
5、如何生成绝对路径
import os
print(os.path.abspath(‘hello.png’))
print(os.path.join(’/home/kiosk/’,‘aa’))
print(os.path.join(os.path.abspath(’.’),‘bb’))
6、如何获取目录名和文件名
import os
filename=’/home/kiosk/PycharmProjects/20191126/day05/data.txt’
print(os.path.basename(filename))
print(os.path.dirname(filename))
7、创建目录
import os
os.mkdir(‘img’) #单级目录用os.mkdir()
os.makedirs(‘img/img1/img2’) #多级目录用os.makedirs()
#不能递归删除目录
os.rmdir(‘img’)
#os.rmdir(‘img’)#递归目录不能一下删除
os.rmdir(‘img/img1/img2’) #只能逐级删除
8.创建文件
import os
#os.mknod(‘okk.txt’)
os.remove(‘okk.txt’)
9.文件的重命名
import os
os.rename(‘data.txt’,‘dddddd.txt’)
10.判断文件或目录是否存在
import os
print(os.path.exists(‘fhhgkjs’))
11.分离文件名和后缀名
import os
print(os.path.splitext(‘hello.jpg’) )
12、将目录名和文件名分开
import os
print(os.path.split(’/opt/hello.jpg’))
表示时间的类型
分类;
1.时间戳
2.字符串时间
3.元组类型的时间
常用的时间转换
元组时间转换为时间戳
import time
tuple_time=time.localtime()print(tuple_time)#转换为时间戳print(time.mktime(tuple_time))
2\元组时间转换为字符串时间
import time
tuple_time=time.localtime()
print(tuple_time)
3\时间戳类型的时间转换为字符串时间
import os
import time
pwd_time=os.path.getatime(’/etc/passwd’)
print(pwd_time)
print(time.ctime(pwd_time))
4\时间戳转换为元组
import os
import time
pwd_time=os.path.getatime(’/etc/passwd’)
print(pwd_time)
print(time.localtime(pwd_time))
练习1:
在当前目录新建目录img, 里面包含多个文件,
文件名各不相同(X4G5.png)
将当前img目录所有以.png结尾的后缀名改为.jpg
生成文件:defgen_code(len=4):# 随机生成4位验证码
li= random.sample(string.ascii_letters+string.digits,len)return''.join(li)defcreate_file():# 随机生成100个文件名
li={ gen_code()for iinrange(100)}
os.mkdir('img')for namein li:
os.mknod('img/'+ name+'.png')
create_file()
改后缀名:
应用案例-----系统监控
需求:
1.获取当前主机信息 包含操作系统名 主机名 内核版本 硬件架构
2.获取开机时间和开机时长
3.获取当前登陆的用户
import osfrom datetimeimport datetimeimport psutilprint('主机信息'.center(50,'*'))
info= os.uname()print("""
操作系统:%s,
主机名称:%s,
内核版本:%s,
硬件架构:%s
"""%(info.sysname,info.nodename,info.release,info.machine))print('开机信息'.center(50,'*'))
boot_time= psutil.boot_time()# 返回一个时间戳# 将时间戳转换为datetime类型的时间
boot_time_obj= datetime.fromtimestamp(boot_time)print(boot_time_obj)
now_time= datetime.now()print(now_time)
delta_time= now_time- boot_time_objprint(delta_time)print('开机时间:',boot_time_obj)print('当前时间:',str(now_time).split('.'))print('开机时长:',str(delta_time).split('.'))print('当前登陆用户'.center(50,'*'))
login_user= psutil.users()print(login_user)
info= psutil.users()[0]print(info.name)