系统的查看

1.系统及与系统相关参数的导入
import os
from os.path import exists,splitext,join
2.返回操作系统类型
import os
from os.path import exists,splitext,join
print(os.name)

python获取系统架构 python获取操作系统类型_文件名


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

3.操作系统的详细信息
import os
from os.path import exists,splitext,join
info = os.uname()
print(info)
print(info.sysname)    ##操作系统
print(info.nodename)   ##主机名称

python获取系统架构 python获取操作系统类型_python获取系统架构_02

4.系统环境变量
import os
from os.path import exists,splitext,join
print(os.environ)

python获取系统架构 python获取操作系统类型_迭代_03

5.通过key值获取环境变量对应的value值
import os
from os.path import exists,splitext,join
print(os.environ.get('PATH'))

python获取系统架构 python获取操作系统类型_文件名_04

系统的相关操作

1.判断是否为绝对路径

是否为绝对路径 不判断是否存在,只判断是不是以根开始

import os
from os.path import exists,splitext,join
print(os.path.isabs('/tmp/hello/westos'))
print(os.path.isabs('hello'))

python获取系统架构 python获取操作系统类型_文件名_05

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'))

python获取系统架构 python获取操作系统类型_子目录_06

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))

python获取系统架构 python获取操作系统类型_迭代_07

4.创建目录/删除目录
#4.创建目录/删除目录
#mkdir -p test1/test2/test3
os.mkdir('img')
os.makedirs('img/file') #创建递归目录
os.rmdir('img')

python获取系统架构 python获取操作系统类型_子目录_08


python获取系统架构 python获取操作系统类型_子目录_09


python获取系统架构 python获取操作系统类型_文件名_10


python获取系统架构 python获取操作系统类型_迭代_11


注意:在上截图中,img目录下面还有个子目录,如果直接删除img目录则会报错:显示img目录不为空,因此在删除有子目录的目录时应递进删除,即先删除子目录,然后再删除指定要删除的目录。<.font>

5.创建文件/删除文件
os.mknod('a.txt')
os.remove('a.txt')

python获取系统架构 python获取操作系统类型_子目录_12

6.文件重命名
import os
from os.path import exists,splitext,join
# os.mknod('data.txt')
os.rename('data.txt','data1.txt')

python获取系统架构 python获取操作系统类型_迭代_13

7.判断文件或者目录是否存在
import os
from os.path import exists,splitext,join
print(os.path.exists('imgs'))
print(os.path.exists('data1.txt'))

python获取系统架构 python获取操作系统类型_子目录_14

8.分离后缀名和文件名
import os
from os.path import exists,splitext,join
print(os.path.splitext('hello.jpg'))

python获取系统架构 python获取操作系统类型_子目录_15

9.目录名和文件名分离
import os
from os.path import exists,splitext,join
print(os.path.split('/tmp/hello/hello.jpg'))

python获取系统架构 python获取操作系统类型_python获取系统架构_16

遍历指定目录

import os
from os.path import exists,splitext,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用户,该用户对有的目录没有权限,所以没显示出来。

python获取系统架构 python获取操作系统类型_迭代_17


dir 显示所有目录,以及子目录

python获取系统架构 python获取操作系统类型_python获取系统架构_18


files 显示dir显示的目录下的文件

python获取系统架构 python获取操作系统类型_子目录_19


python获取系统架构 python获取操作系统类型_子目录_20

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)

python获取系统架构 python获取操作系统类型_子目录_21

上述代码执行结果如下:

python获取系统架构 python获取操作系统类型_迭代_22