系统的查看
1.系统及与系统相关参数的导入
import os
from os.path import exists,splitext,join
2.返回操作系统类型
import os
from os.path import exists,splitext,join
print(os.name)
注意: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) ##主机名称
4.系统环境变量
import os
from os.path import exists,splitext,join
print(os.environ)
5.通过key值获取环境变量对应的value值
import os
from os.path import exists,splitext,join
print(os.environ.get('PATH'))
系统的相关操作
1.判断是否为绝对路径
是否为绝对路径 不判断是否存在,只判断是不是以根开始
import os
from os.path import exists,splitext,join
print(os.path.isabs('/tmp/hello/westos'))
print(os.path.isabs('hello'))
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.创建目录/删除目录
#4.创建目录/删除目录
#mkdir -p test1/test2/test3
os.mkdir('img')
os.makedirs('img/file') #创建递归目录
os.rmdir('img')
注意:在上截图中,img目录下面还有个子目录,如果直接删除img目录则会报错:显示img目录不为空,因此在删除有子目录的目录时应递进删除,即先删除子目录,然后再删除指定要删除的目录。<.font>
5.创建文件/删除文件
os.mknod('a.txt')
os.remove('a.txt')
6.文件重命名
import os
from os.path import exists,splitext,join
# os.mknod('data.txt')
os.rename('data.txt','data1.txt')
7.判断文件或者目录是否存在
import os
from os.path import exists,splitext,join
print(os.path.exists('imgs'))
print(os.path.exists('data1.txt'))
8.分离后缀名和文件名
import os
from os.path import exists,splitext,join
print(os.path.splitext('hello.jpg'))
9.目录名和文件名分离
import os
from os.path import exists,splitext,join
print(os.path.split('/tmp/hello/hello.jpg'))
遍历指定目录
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用户,该用户对有的目录没有权限,所以没显示出来。
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)
上述代码执行结果如下: