os模块主要处理文件和目录。常用功能如下:
1.os.name :显示当前使用平台
import os
os.name
Out[5]: 'nt' #"nt"表示windows;"posix"表示linux
2.os.getcwd() :显示当前工作目录
os.getcwd()
Out[6]: 'C:\\Users\\zhouy_000\\Desktop\\python_study'
3.os.listdir("dirname") :返回指定目录下所有文件和目录
os.listdir()
Out[7]:
['.ipynb_checkpoints',
'20190410',
'20190416',
'20190417',
'Untitled.ipynb',
'untitled0.py']
4.os.remove("filename"):删除一个文件
os.remove("untitled0.py")
os.listdir()
Out[10]: ['.ipynb_checkpoints', '20190410', '20190416', '20190417', 'Untitled.ipynb']
5.os.mkdir("dirname"):新建一个文件夹
os.makedirs("dirname1//dirname2") 新建多层文件夹
os.rmdir("dirname"):删除一个文件夹(只能删除空文件夹)
os.removedirs("dir1//dir2") :若目录为空则删除,并递归到上一层目录,若也为空,则删除。
os.listdir()
Out[14]: ['.ipynb_checkpoints', '20190410', '20190416', '20190417', 'Untitled.ipynb']
os.mkdir("dir1")
os.listdir()
Out[16]:
['.ipynb_checkpoints',
'20190410',
'20190416',
'20190417',
'dir1',
'Untitled.ipynb']
os.rmdir("dir1")
os.listdir()
Out[18]: ['.ipynb_checkpoints', '20190410', '20190416', '20190417', 'Untitled.ipynb']
os.makedirs("dir1//dir2")
os.listdir()
Out[20]:
['.ipynb_checkpoints',
'20190410',
'20190416',
'20190417',
'dir1',
'Untitled.ipynb']
os.listdir("dir1/")
Out[21]: ['dir2']
os.removedirs("dir1//dir2")
os.listdir()
Out[23]: ['.ipynb_checkpoints', '20190410', '20190416', '20190417', 'Untitled.ipynb']
6.os.rename("oldname","newname"):重命名文件
os.rename("20190410/","20190410_new")
os.listdir()
Out[25]:
['.ipynb_checkpoints',
'20190410_new',
'20190416',
'20190417',
'Untitled.ipynb']
7.os.sep:显示当前平台下路径分隔符
os.sep
Out[30]: '\\'
8.os.linesep: 给出当前平台使用的行终止符
os.linesep
Out[31]: '\r\n'
9.os.path.abspath(path):显示绝对路径
os.path.dirname(path):返回该路径的父目录
os.path.basename(path):返回该路径的最后一个目录或者文件,如果path以/或\结尾,那么就会返回空值
os.path.split(path):返回文件的文件夹部分和文件部分
os.path.join():将文件与路径进行组合
os.getcwd()
Out[38]: 'C:\\Users\\zhouy_000\\Desktop\\python_study'
os.listdir()
Out[39]:
['.ipynb_checkpoints',
'20190410_new',
'20190416',
'20190417',
'Untitled.ipynb']
os.path.abspath("20190410_new/")
Out[40]: 'C:\\Users\\zhouy_000\\Desktop\\python_study\\20190410_new\\'
os.path.dirname("C:\\Users\\zhouy_000\\Desktop\\python_study\\Untitled.ipynb")
Out[42]: 'C:\\Users\\zhouy_000\\Desktop\\python_study'
os.path.basename("C:\\Users\\zhouy_000\\Desktop\\python_study\\Untitled.ipynb")
Out[43]: 'Untitled.ipynb'
os.path.join("C:\\Users\\zhouy_000\\Desktop\\python_study","Untitled.ipynb")
Out[44]: 'C:\\Users\\zhouy_000\\Desktop\\python_study\\Untitled.ipynb'
os.path.split("C:\\Users\\zhouy_000\\Desktop\\python_study\\Untitled.ipynb")
Out[46]: ('C:\\Users\\zhouy_000\\Desktop\\python_study', 'Untitled.ipynb')
10.os.path.isfile(path):如果path是一个文件,返回true 。
os.path.isdir(dir):如果dir是一个文件,返回true
os.path.isabs(path):如果path是绝对路径,返回true。
os.listdir()
Out[47]:
['.ipynb_checkpoints',
'20190410_new',
'20190416',
'20190417',
'Untitled.ipynb']
os.path.isdir("20190410_new/")
Out[49]: True
os.path.isfile("Untitled.ipynb")
Out[50]: True
os.path.isabs("20190410_new/")
Out[52]: False
os.path.exists("20190410")
Out[53]: False
11.os.path.splitext(path):将文件分成文件名与扩展名
os.path.splitext("Untitled.ipynb")
Out[55]: ('Untitled', '.ipynb')
12.os.path.getsize(path) :返回path的文件的大小(字节)
os.path.getatime(path) :返回path所指向的文件或者目录的最后的访问时间。
os.path.getctime(path) :返回path所指向的文件或者目录创建时间。
os.path.getmtime(path) :返回path所指向的文件或者目录的最后修改时间。
os.stat("20190410_new/")
Out[57]: os.stat_result(st_mode=16895, st_ino=3096224744145762, st_dev=2691814533, st_nlink=1, st_uid=0, st_gid=0, st_size=4096, st_atime=1554905336, st_mtime=1554905336, st_ctime=1554896767)
os.path.getsize("20190410_new/")
Out[56]: 4096
os.path.getatime("Untitled.ipynb")
Out[58]: 1571058482.5411594
os.path.getctime("Untitled.ipynb")
Out[59]: 1571058482.5411594
os.path.getmtime("Untitled.ipynb")
Out[60]: 1571058699.3228593
13.os.chdir(path):改变当前目录
os.getcwd()
Out[62]: 'C:\\Users\\zhouy_000\\Desktop\\python_study'
os.listdir()
Out[63]:
['.ipynb_checkpoints',
'20190410_new',
'20190416',
'20190417',
'Untitled.ipynb']
os.chdir("20190410_new/")
os.getcwd()
Out[65]: 'C:\\Users\\zhouy_000\\Desktop\\python_study\\20190410_new'
14.os.walk() :文件遍历
for root,dirs,files in os.walk(".\\20190416"):
print("root_dir",root)
print("sub_dir",dirs)
print("files",files)
"""
root_dir .\20190416
sub_dir ['dir1']
files ['test.xlsx', 'test_2.xlsx']
root_dir .\20190416\dir1
sub_dir []
files []
"""