生成单级目录:os.mkdir(‘dirname’)
生成多层目录:os.makedirs(‘dirname1/…/dirnamen2’)
重命名:os.rename(“oldname”,“newname”)
工作目录:os.getcwd()
删除单层空目录:os.rmdir(‘dirname’)
移除多层空目录:os.removedirs(‘dirname1/…/dirnamen’)
列举目录下所有资源:os.listdir(‘dirname’)
路径分隔符:os.sep
行终止符:os.linesep
文件分隔符:os.pathsep
操作系统名:os.name
操作系统环境变量:os.environ
执行shell脚本:os.system()
生成单级目录:os.mkdir(path[, mode])
以数字mode的mode创建一个名为path的文件夹.默认的 mode 是 0777 (八进制)。path-- 要创建的目录 ;mode – 要为目录设置的权限数字模式
只存在文件路径'E:\StudySpace\Code'
import os
os.mkdir(r'E:\StudySpace\Code\aaaa')
print('创建成功')
结果:文件夹创建成功
只存在文件路径'E:\StudySpace\Code'
import os
os.mkdir(r'E:\StudySpace\Code\aaa\bbb')
print('创建成功')
结果:报错[WinError 3] 系统找不到指定的路径。
os.mkdir('a/b/c')
在上面路径中a,b文件夹必须存在,c文件夹必须不存在
生成多层目录:os.makedirs(‘dirname1/…/dirnamen2’)
递归文件夹创建函数。像mkdir(), 但创建的所有intermediate-level文件夹需要包含子文件夹。
import os
os.makedirs('a/b/c')
在上面路径中如果a,b,c文件夹全存在,程序会则报错。a和b文件夹存在与否都可以创建文件夹'a/b/c'
重命名:os.rename(“oldname”,“newname”)
重命名文件或目录,从 src 到 dst
import os
os.rename("111","222") # 重名名
工作目录:os.getcwd()
返回当前工作目录。
import os
print(os.getcwd()) # 当前工作目录
删除单层空目录:os.rmdir(‘dirname’)
删除path指定的空目录,如果目录非空,则抛出一个OSError异常。
import os
os.rmdir(r'D:\fullstack\part1\bbb') # 删除文件夹
移除多层空目录:os.removedirs(‘dirname1/…/dirnamen’)
递归删除目录。
import os
os.removedirs('a/b/c')
c空,删c,b也变成空,也可以被删除,以此类推,如果b不为空,删除c后就停止操作
列举目录下所有资源:os.listdir(‘dirname’)
返回path指定的文件夹包含的文件或文件夹的名字的列表。
import os
res = os.listdir(r'C:')
print(res)
'''
输出:
['$GetCurrent', '$RECYCLE.BIN', 'AppData', 'Program Files', 'Users', 'Windows', ]
'''
import os
print(os.sep)
输出: \
import os
print(ascii(os.linesep))
输出: \r\n
import os
print(os.pathsep)
输出: ;
操作系统名:os.name
操作系统环境变量:os.environ
执行shell脚本:os.system()
import os
print(os.system('dir'))
相当于在cmd的当前文件夹下执行“dir”
执行文件的当前路径:__ file __
返回path规范化的绝对路径:os.path.abspath(path)
将path分割成目录和文件名二元组返回:os.path.split(path)
上一级目录:os.path.dirname(path)
最后一级名称:os.path.basename(path)
指定路径是否存在:os.path.exists(path)
是否是绝对路径:os.path.isabs(path)
是否是文件:os.path.isfile(path)
是否是路径:os.path.isdir(path)
路径拼接:os.path.join(path1[, path2[, …]])
最后存取时间:os.path.getatime(path)
最后修改时间:os.path.getmtime(path)
目标大小:os.path.getsize(path)
import os.path
先将项目的根目录设置为常量 -> 项目中的所有目录与文件都应该参照次目录进行导包
BASE_PATH = os.path.dirname(os_path.dirname(__file__))
print(BASE_PATH)
sys.path.append(BASE_PATH)
# 重点:将项目目录添加至环境变量
print(os.path.abspath(r'a'))
# ('D:\\fullstack\\part1', '系统模块.py')
print(os.path.split(r'D:\fullstack\part1\系统模块.py'))
# ('D:/fullstack/part1', '系统模块.py')
print(os.path.split(r'D:/fullstack/part1/系统模块.py'))
# ('D:/fullstack/part1', '系统模块.py')
print(os.path.split(r'D:\fullstack\part1'))
# ('D:\\fullstack/part1', '')
print(os.path.split(r'D:\fullstack\part1\\'))
print(os.path.dirname(os_path.dirname(r'D:\fullstack\part1\a\b')))
print(os.path.basename(r'D:\fullstack\part1\a\b'))
print(os.path.exists(r'D:\fullstack\part1'))
print(os.path.exists(r'D:\fullstack\part1\时间模块.py'))
print(os.path.isabs(r'a'))
print(os.path.isabs(r'D:\fullstack\part1\a'))
print(os.path.isfile(r'D:\fullstack\part1'))
print(os.path.isfile(r'D:\fullstack\part1\时间模块.py'))
print(os.path.isdir(r'D:\fullstack\part1'))
print(os.path.isdir(r'D:\fullstack\part1\时间模块.py'))
print(os.path.join(r'D:\fullstack\part1', 'a', 'b'))
print(os.path.normcase('c:/windows\\system32\\'))
# 通过normcase来添加项目根目录到环境变量
BASE_PATH1 = os.path.normpath(os.path.join(__file__, '..', '..'))
print(BASE_PATH1)
sys.path.append(BASE_PATH1)
print(os.path.getamtime(r'D:\fullstack\part1\时间模块.py'))
print(os.path.getmtime(r'D:\fullstack\part1\时间模块.py'))
print(os.path.getsize(r'D:\fullstack\part1\时间模块.py'))
BASE_PATH = os.path.dirname(os.path.dirname(__file__))
sys.path.append(BASE_PATH)
BASE_PATH1 = os.path.normpath(os.path.join(__file__, '..', '..'))
sys.path.append(BASE_PATH1)