python---系统信息查看

本文介绍了如何使用Python获取系统类型、环境变量,并详细阐述了文件路径的处理,包括判断绝对路径、生成绝对路径、路径拼接、获取文件名和目录名、创建和删除目录与文件、文件重命名以及检查文件和目录的存在。同时提供了练习,如创建目录、批量重命名文件和生成IP统计文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.返回系统类型
值为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'))

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值