一.环境变量函数
1.返回操作系统类型:os.name
值为posix,是Linux操作系统, 值为nt, 是windows操作系统
print(os.name)
print('Linux' if os.name=='posix' else 'Windows')
2.操作系统的详细信息os.uname( )
**info = os.uname()
print(info)
print(info.sysname) #查看系统名
print(info.nodename)** #查看节点名
3.系统环境变量:os.environ
import os
print(os.environ)
4.通过key值获取环境变量对应的value值
import os
print(os.environ.get('PATH'))
print(os.getenv('PATH'))
二.文件操作函数
1.判断是否为绝对路径,但不判断文件是否存在
import os
print(os.path.isabs('/villa/data/test'))
print(os.path.isabs('data/test'))
2.生成绝对路径
import os
print(os.path.abspath('/tmp/hello'))
print(os.path.abspath('hello.png'))
3.文件路径拼接
import os
from os.path import join
print(os.path.join('/home/kiosk', 'ips.txt'))
# 返回一个绝对路径: 当前目录的绝对路径+ 文件名/目录名
print(os.path.join(os.path.abspath('.'), 'ips.txt'))
4.获取目录名或者文件名
import os
filename = '/home/kiosk/Desktop/PycharmProjects/day10/ips.txt'
print(os.path.basename(filename))
print(os.path.dirname(filename))
5. 创建目录/删除目录
import os
os.makedirs('/fcb/villa') #递归创建文件夹
os.mkdir('/villa') #创建文件夹
os.rmdir('villa') #删除文件夹
- 创建文件/删除文件
import os
os.mknod('messi.txt')
os.remove('messi.txt')
7. 文件重命名(mv
)
import os
os.rename('data.txt', 'data1.txt')
8. 判断文件或者目录是否存在
import os
from os.path import exists
print(os.path.exists('villa'))
9. 分离后缀名和文件名
import os
from os.path import splitext
print(os.path.splitext('hello.png'))
print(os.path.split('hello.png'))
10. 将目录名和文件名分离
import os
from os.path import splitext
print(os.path.split('/villa/villa/hello.png'))
三.遍历指定目录下的所有内容
os.walk()方法用于通过在目录了数中向下或向上游走,输出目录的文件名,
该方法回访回一个生成器。
该层目录(root,dirs,files)的三元组,最终将所有目录层的的结果变为一个生成器
root 所指的是当前正在遍历的这个文件夹的本身的地址
dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)
import os
from os.path import join
for root, dirs, files in os.walk('/var/log'):
# print(root, dirs, files)
for name in files:
print(join(root, name))