方法 | 说明 |
---|---|
os.getcwd() | 获取当前工作目录 |
os.chdir() | 改变当前工作目录 |
os.listdir() | 列出当前目录下的文件 |
os.mkdir() | 创建文件夹 |
os.makedirs() | 递归创建文件夹目录 |
os.rmdir() | 删除空目录 |
os.remakedirs() | 递归删除文件夹目录 |
os.rename() | 文件或文件夹重新命名 |
os.remove() | 删除文件 |
import os
path=os.getcwd()#获取当前运行文件所在路径
print(path)
#结果:
========================== RESTART: D:/learnpy/os学习.py =========================
D:\learnpy
>>>
这个一般建议在终端窗口使用,它是改变当前路径,在改变的路径下进行操作,如图,原本路径,与改后路径,然后创建文件,它保存在D盘里了
import os
path="D:\learnpy\数据表"
path_list=os.listdir(path)
print(path_list)
import os
#没创建之前查看"D:\learnpy"该目录下的文件
before_path=os.listdir()
os.mkdir("D:\learnpy\os学习")#在"D:\learnpy"路径下创建os学习文件夹
#查看是否创建成功
after_path=os.listdir()
print("before文件的总数量:",len(before_path))
print("*"*10)
print("after文件的总数量:",len(after_path))
#
======================================================================= RESTART: D:/learnpy/os学习.py =======================================================================
before文件的总数量: 86
**********
after文件的总数量: 87
>>>
import os
before=os.listdir("D:/learnpy/os学习")
os.makedirs("D:/learnpy/os学习/a/b/c")#在"D:\learnpy\os学习\中创建a文件夹,接着a文件夹创建b,依次类推"
#查看是否创成功
path=os.listdir("D:/learnpy/os学习")
print("before:",before)
print("*"*10)
print("after文件的总数量:",path)
#======================================================================= RESTART: D:/learnpy/os学习.py =======================================================================
before: []
**********
after文件的总数量: ['a']
>>>
import os
#before=os.listdir("D:/learnpy/os学习")
os.rmdir("D:/learnpy/os学习/a/b/c")#删除c文件夹
path=os.listdir("D:/learnpy/os学习/a/b")
#print("before:",before)
print("*"*10)
print("after文件的总数量:",path)
#======================================================================= RESTART: D:/learnpy/os学习.py =======================================================================
**********
after文件的总数量: []
import os
#before=os.listdir("D:/learnpy/os学习")
os.removedirs("D:/learnpy/os学习/a/b")#删除c文件夹
path=os.listdir("D:/learnpy/os学习/a/b")
#print("before:",before)
print("*"*10)
print("after文件的总数量:",path)
'''
报错:
File "D:\Program Files (x86)\python\lib\os.py", line 243, in removedirs
rmdir(name)
OSError: [WinError 145] 目录不是空的。: 'D:/learnpy/os学习/a/b'''
>>>
注意,递归删除的文件,里面的目录是需要是空的,没有文件,下面我们删除文件,结果没有报错,把递归创建的文件夹都删除了
import os
before=os.listdir("D:/learnpy/os学习")
os.remove("D:/learnpy/os学习/a/b/1.txt")#删除b目录下的文件
os.removedirs("D:/learnpy/os学习/a/b")#删除c文件夹
path=os.listdir("D:/learnpy/os学习")
print("before:",before)
print("*"*10)
print("after文件的总数量:",path)
'''
======================================================================= RESTART: D:/learnpy/os学习.py =======================================================================
before: ['2ds.txt', 'a']
**********
after文件的总数量: ['2ds.txt']
>>>
'''
发现一个很神奇的事情,就是在我电脑上执行以上操作,我os学习文件夹原来的文件改名后被移动到D:/learnpy这个位置了,然后os学习文件夹空了,这我也不知道为什么
import os
os.rename("D:/learnpy/os学习/加油.txt","加油你好.txt")
new_name=os.listdir("D:/learnpy/os学习")
print(new_name)
'''
======================================================================= RESTART: D:/learnpy/os学习.py =======================================================================
[]
>>>
'''
如果我们输入删除的是文件目录,它会显示报错,不可以混淆rmdir()与remove()
import os
os.remove("D:/learnpy/os学习/加油.txt")
print("完成")
方法 | 说明 |
---|---|
os.path.abspath() | 返回绝对路径 |
os.path.dirname() | 显示完整目中的目录部分 |
os.path.basename | 显示路径的最后文件 |
os.path.split() | 把文件与目录路径分开 |
os.path.join() | 起连接作用 |
os.path.isfile() | 判断该文件存在 |
os.path.isdir() | 判断该目录是否存在 |
os.path.getsize() | 获取文件大小 |
>>> import os
>>> os.chdir("D:/learnpy/os学习")
>>> path='./加油你好.txt'#相对路径
>>> os.path.abspath(path)
'D:\\learnpy\\os学习\\加油你好.txt'#转化为绝对路径
import os
path="D:/learnpy/os学习/a/b"
dir_name=os.path.dirname(path)
print("dirname:",dir_name)
base_name=os.path.basename(path)
print("basename:",base_name)
'''
返回结果:
==
dirname: D:/learnpy/os学习/a
basename: b
'''
就是将文件路径与文件分开,返回的是二元组的形式
import os
path="D:/learnpy/os学习/加油你好.txt"
path_split=os.path.split(path)
print(path_split)
'''
('D:/learnpy/os学习', '加油你好.txt')
>>>
'''
将路径连接起来,join()里面的参数可以是多个
import os
path="D:/learnpy/os学习/"
path_join='ni.py'
r=os.path.join(path,path_join)
print(r)
'''
==
D:/learnpy/os学习/ni.py
>>>
'''
import os
path1="D:/learnpy/os学习/jiayou.txt"
path2="D:/learnpy/os学习/加油你好.txt"
path="D:/learnpy/a"
r1_f=os.path.isfile(path1)
r2_f=os.path.isfile(path2)
r1_dir=os.path.isdir(path)
print("path1文件判断结果为{},path2文件判断结果为{},path路径是否存在结果为{}".format(r1_f,r2_f,r1_dir))
'''
==
path1文件判断结果为False,path2文件判断结果为True,path路径是否存在结果为False
>>>
'''
import os
path="D:/learnpy/os学习/加油你好.txt"
r=os.path.getsize(path)
print(r)
这些操作,可以方便自己批量整理本机文件名,创建、修改,删除等操作,做完这篇笔记,在脑海里加深了记忆。