在python中,os 模块提供了非常丰富的方法用来处理文件和目录。常见的用法如下所示:
1. os.getcwd() :
得到当前工作目录,即当前Python脚本工作的目录路径。
>>> import os
>>> os.getcwd() #查看当前目录
'C:\\Users\\Lenovo'
2. os.chdir():
改变当前工作目录。
>>> os.chdir("d:\\python_code") #改变工作目录到d:\\python_code
>>> os.getcwd() #查看当前工作目录
'd:\\python_code'
3. os.listdir():
显示当前目录下所有文件和目录名
>>> os.listdir() #显示当前目录下的所有文件
['csv', 'one_week', 'shelve_dic.bak', 'shelve_dic.dat', 'shelve_dic.dir', 'simple', 'St11', 'st13', 'third_week', 'two_week']
4. os.path.isdir():
判断是否是一个目录(返回True or False)
>>> os.path.isdir('csv')
True
5. os.path.isfile():
判断是否是一个文件(返回True or False)
>>> os.path.isfile('lesson1')
False
>>> os.path.isdir('st13\\lesson1')
True
6. os.mkdir():
新建目录
>>> os.mkdir('test')
7. os.makedirs():
新建目录下面有子目录
>>> os.makedirs("test2\\1\\2")
8. os.rmdir():
只能删除目录为空的目录,否则不能删除 ;要删除有子目录的文件,可以使用shutil.rmtree()
>>> os.rmdir('test') #删除目录为空的文件夹
>>> os.rmdir('test2') #不能删除目录不为空的文件夹
Traceback (most recent call last):
File "", line 1, in
OSError: [WinError 145] 目录不是空的。: 'test2'
>>> import shutil
>>> shutil.rmtree('test2')
9. os.remove():
删除文件
>>> os.remove("st13\\lesson7\\2.jpg")
10 . os.system():
运行shell命令。
>>> os.system('cmd') #启动cmd
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
d:\python_code>
11. os.sep:
路径分割符
>>> os.sep
'\\'
12. os.path.split():
返回一个路径的目录名和文件名
>>> os.path.split("d:\\python_code\\csv\\1.txt")
('d:\\python_code\\csv', '1.txt')
13. os.path.splitdrive():
以盘进行拆分路径
>>> os.path.splitdrive("d:\\python_code\\csv\\1.txt")
('d:', '\\python_code\\csv\\1.txt')
14. os.path.join():
组合路径
>>> path="d:\\python_code\\csv"
>>> f="1.txt"
>>> os.path.join(path,f)
'd:\\python_code\\csv\\1.txt'
15. os.path.exists()
用来检验给出的路径是否真的存在,(返回True or False)。
>>> os.path.exists('d:\\python_code\\csv\\1.txt')
False
>>> os.path.exists('d:\\python_code\\csv')
True
16. os.path.abspath(name):
获得绝对路径
>>> os.path.abspath('csv')
'd:\\python_code\\csv'
17. os.path.basename():
去掉目录路径,返回文件名
>>> os.path.basename('d:\\python_code\\csv\\1.txt')
'1.txt'
18.os.path.dirname() :
去掉文件名,返回目录路径
>>> os.path.dirname('d:\\python_code\\csv\\1.txt')
'd:\\python_code\\csv'
19. os.path.splitext():
分离文件名与扩展名
>>> os.path.splitext('d:\\python_code\\csv\\1.txt')
('d:\\python_code\\csv\\1', '.txt')
>>> os.path.splitext('1.txt')
('1', '.txt')
20. os.path.getsize() :
获得文件大小,如果name是目录返回0,如果那么为文件,则返回文件的字节数
>>> os.path.getsize('d:\\python_code\\csv')
0
>>> os.path.getsize('d:\\python_code\\csv\\baidustock.txt')
27623