1.返回操作系统类型
posix:表示linux操作系统,
nt,表示windows操作系统
print(os.name)
2.操作系统详细信息
import os
info=os.uname()
print(info)
print(info.sysname) #获取操作系统的类型
print(info.nodename) ##查看主机名
3.环境变量
import os
#查看后会发现其类型是字典
print(os.environ)
#通过key值获取环境变量对应的value值
print(os.environ.get('PATH'))
注意:
1.在linux中使用命令env查看环境变量,电脑开机时所有的初始化的都在里面设置
2.PATH只是其中的一部分
4.系统的相关操作
1.判断是否是绝对路径
import os
from os.path import exists,splitext,join
print(os.path.isabs('/tmp/passwd'))
print(os.path.isabs('passwd')) #文件不一定存在
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'))
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))
4.创建目录/删除目录
import os
from os.path import exists,splitext,join
# mkdir -p test1/test2/test3
os.mkdir('img')
os.makedirs('img/file') #创建递归目录
os.rmdir('img')
递归删除时要保证目录为空,若不为空则无法删除。需先删除子目录
5.创建文件/删除文件
import os
from os.path import exists,splitext,join
os.mknod('s.txt')
os.remove('s.txt')
6.文件重命名
os.rename('data.txt','data1.txt')
7.判断文件是否存在
import os
print(os.path.exists('imgs'))
8.分离后缀名和文件名
import os
print(os.path.splitext('hello.jpg'))
9.目录名和文件名分离
import os
print(os.path.split('/tmp/hello/hello.jpg'))
5.遍历指定目录
import os
from os.path import 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用户,该用户对有的目录没有权限,所以没显示出来。
dir 显示所有目录,以及子目录
files 显示dir显示的目录下的文件
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)