1.模块
- 相当于Java的包
- 用import引入
2. python的OS
模块
- OS模块包含普遍的操作系统功能
- Python跨平台的支撑
- OS会根据开发平台自己调用正确的模块
3. OS模块中常用操作目录和文件的方法
3.1 os.getcwd()
返回当前工作目录
print(os.getcwd ())
输出:E:\Python\WorkSpace
3.2 os.chdir(path)
改变当前工作路径
- 传入值是一个路径字符串
.
当前目录..
返回上级目录
# 原来
print(os.getcwd ())
输出:E:\Python\WorkSpace
# # 返回上级目录
os.chdir('..')
os.getcwd ()
输出:'E:\\Python'
# 更改
os.chdir(r'E:\')
print(os.getcwd ())
输出:E:\
3.3 os.listdir(path)
返回指定目录下的所有文件和目录名
- 不写参数,默认当前工作目录下查找
print(os.listdir(r'E:\Python\WorkSpace'))
输出:['jock1.2.py', 'ra.py', '汉诺塔.py']
3.4 os.mkdir(path)
新建目录
- 只能建一层
- 目录以存在,报异常
- 不写绝对路径,默认建在当前工作目录下建立
os.mkdir('E:\Python\WorkSpace\Demo')
效果:
3.5 os.makedirs(path)
递归创建目录
- 创建多层目录
- 目录以存在,会报错
# 在E:\Python\WorkSpace目录下创建递归目录
os.makedirs('E:\Python\WorkSpace\Demo_1\demo_2\demo_3\demo_4')
效果:Demo_1\demo_2\demo_3\demo_4都是新建的
3.6 os.remove(path)
删除文件,不是目录!!!
os.remove(r'E:\Python\WorkSpace\Demo\aa.txt')
3.7 os.rmdir(path)
删除单层目录
- 目录不为空,报异常
os.rmdir(r'E:\Python\WorkSpace\Demo')
3.8 os.removedirs
递归删除目录
- 从子目录到父目录逐层删除,遇到非空目录报异常
- A下有B和C两个目录,用递归删除B目录,只有B目录会被删除,A、C不会被删除
os.removedirs(r'E:\Python\WorkSpace\Demo_1\demo_2\demo_3\demo_4')
3.9 os.rename(old,new)
修改目录名字或者是文件名字
- 不写绝对路径,默认在当前工作路径下查找目录或文件
# 修改目录名
# 只写被修改的目录名
os.rename(r'Daaa',r'Deee')
# 写绝对路径
os.rename(r'E:\Python\WorkSpace\Deee',r'E:\Python\WorkSpace\Demo')
# 修改文件名
# 只写被修改的文件名
os.rename(r'Demo\hh.txt',r'Demo\aa.txt') # 我的文件在当前工作路径的Demo目录下
# 不加Demo报错,因为找不到
# 写绝对路径
os.rename(r'E:\Python\WorkSpace\Demo\aa.txt',r'E:\Python\WorkSpace\Demo\hh.txt')
3.10 os.system(command)
运行系统的shell命令。
- command:参数是shell命令
os.system('dir')
0
>>> os.system('cmd')
-1073741510 # #启动dos 弹出黑框框
效果:
4. OS模块中支持路径操作中常用到的一些定义,支持所有平台
4.1 os.curdir
指代当前目录
os.listdir(os.curdir) 等价于 os.listdir('.')
# os.listdir(os.curdir)
os.listdir (os.curdir)
输出:['Demo', 'jock1.2.py', 'ra.py', '汉诺塔.py']
# os.listdir('.')
os.listdir ('.')
输出:['Demo', 'jock1.2.py', 'ra.py', '汉诺塔.py']
4.2 os.pardir
指代上级目录
os.listdir(os.pardir) 等价于 os.listdir('..')
# os.listdir(os.pardir)
os.listdir(os.pardir)
输出:['install', 'python-3.3.2.amd64.msi', 'WorkSpace']
# os.listdir('..')
os.listdir('..')
输出:['install', 'python-3.3.2.amd64.msi', 'WorkSpace']
4.3 os.sep
输出操作系统特定的路径分隔符
print(os.sep)
输出:\
4.4 os.linesep
特定终止符
os.linesep
输出:'\r\n'
4.5 os.name
输出正在使用的平台
- 如果是window 则用’nt’表示,对于Linux/Unix用户,它是’posix’。
import os
os.name
输出:'nt'