os的基本操作
1、查看操作系统类型
import os
print(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
生成文件:
def gen_code(len=4):
# 随机生成4位验证码
li = random.sample(string.ascii_letters+string.digits,len)
return ''.join(li)
def create_file():
# 随机生成100个文件名
li = { gen_code() for i in range(100)}
os.mkdir('img')
for name in li:
os.mknod('img/' + name + '.png')
create_file()
改后缀名:
应用案例-----系统监控
需求:
1.获取当前主机信息 包含操作系统名 主机名 内核版本 硬件架构
2.获取开机时间和开机时长
3.获取当前登陆的用户
import os
from datetime import datetime
import psutil
print('主机信息'.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_obj
print(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)