一.返回系统类型
值为posix,表示linux系统,值为nt,表示为为为windows系统
import os
print(os.name)
二.操作系统的详细信息
import os
info =os.uname()
print(info)
print(info.sysname)
print(info.nodename)
三.系统的环境变量
import os
from os.path import exists,splitext,join
print(os.environ)
通过key值获取环境变量的value值
四.文件路径
(1)判断是否为绝对路径
只判断路径,不判断文件是否存在
import os
from os.path import exists,splitext,join
print(os.path.isabs('/mnt/westos'))
返回值Ture
import os
from os.path import exists,splitext,join
print(os.path.isabs('.westos'))
返回值为False
(2)生成绝对路径
import os
from os.path import exists,splitext,join
print(os.path.abspath('hello.png'))
(3)路径拼接
import os
from os.path import exists,splitext,join
print(os.path.join('/home/kiosk','hello.png'))
在当前路径拼接
import os
import random
import string
from os.path import exists,splitext,join
print(os.path.join(os.path.abspath('.'),'hello.jpg'))
(4)获取目录或文件名
获取文件名
import os
import random
import string
from os.path import exists,splitext,join
filename='/mnt/file'
print(os.path.basename(filename))
获取目录名
import os
import random
import string
from os.path import exists,splitext,join
filename='/mnt/file'
print(os.path.dirname(filename))
(5)创建目录/删除目录
创建目录:
创建多级目录:
删除目录:
(6)创建文件/删除文件
创建文件:
删除文件:
import os
import random
import string
from os.path import exists,splitext,join
os.remove('xing.png')
(7)文件重命名
(8) 判断文件及目录是否存在
(9)分离文件名及后缀名
练习
1.生成img目录,在目录中随机生成100个abcd.png格式的文件
import os
import random
import string
from os.path import exists,splitext,join
code_str=string.ascii_letters + string.digits
os.mkdir('img')
for i in range(101):
a= random.sample(code_str,4)
b=(''.join(a))
# print(b)
os.mknod('img/'+b+'.png')
2.将文件后缀为png文件重命名为.jpg
def modify_suffix(dirname,old_suffix,new_suffix):
if os.path.exists(dirname):
pngfile=[filename for filename in os.listdir(dirname) if filename.endswith(old_suffix)]
basefiles=[os.path.splitext(filename)[0] for filename in pngfile]
print(pngfile)
for filename in basefiles:
oldname=os.path.join(dirname,filename+old_suffix)
newname=os.path.join(dirname,filename+new_suffix)
os.rename(oldname,newname)
else:
print('目录不存在')
modify_suffix('img','.png','.jpg')
3.生成一个大文件ips.txt,要求1200行,每行随机为172.25.254.0/24段的ip,读取ips.txt文件统计这个文件中ip出现频率排前10的ip
import random
def creat_ip_file(filename):
ip=['172.25.254.'+ str(i) for i in range(0,255)]
with open(filename,'a+')as f:
for count in range(1200):
f.write(random.sample(ip,1)[0]+'\n')
creat_ip_file('ips.txt')
def sorted_by_ip(filename,count=10):
ips_dict=dict()
with open(filename) as f:
for ip in f:
if ip in ips_dict:
ips_dict[ip]+=1
else:
ips_dict[ip]=1
sorted_ip=sorted(ips_dict.items(),key=lambda x:x[1],reverse=True)[:count]
return sorted_ip
print(sorted_by_ip('ips.txt'))