# os 库操作目录及文件 ## 1,使用 os.sep() 方法获取系统分隔符 ​ window 系统常用分隔符为 \ 或者 \\\ ​ Linux 系统常用分隔符为 / ​ 苹果MAC 系统分隔符为 : ``` import os print(os.sep) ``` ## 2,使用 os.name() 获取操作平台类型 windows 系统用 nt 表示 Linux 系统用 posix 表示 ``` import os print(os.name) ``` ## 3,使用 os.getcwd() 获取当前工作目录 ``` import os print(os.getcwd()) ``` **PS:通过os 库方法对目录或文件进行增删改查** ## 4,使用 os.listdir() 方法查询目录下的文件列表 ``` import os # 获取当前目录下的所有文件,以列表形式输出 print(os.listdir()) # 获取指定目录下的所有文件,以列表形式输出 print(os.listdir("C:\\Users\\Administrator\\PycharmProjects\\pythonProject4\\test2")) ``` ## 5,使用 os.mkdir() 方法创建目录文件 ``` import os # 在当前目录下创建一个名为 test 的目录文件 os.mkdir("test") # 指定目录下创建名为 test2 的目录文件 os.mkdir("C:\\Users\\Administrator\\PycharmProjects\\pythonProject4\\test2\\test2") ``` ## 6,使用 os.rmdir() 方法删除一个空目录 ``` import os # 在当前目录下删除一个名为 test 的空目录 os.rmdir("test") # 指定目录下删除名为 test2 的空目录 os.rmdir("C:\\Users\\Administrator\\PycharmProjects\\pythonProject4\\test2\\test2") ``` ## 7,使用 os.remove() 方法删除指定文件 ``` import os # 在当前目录下删除一个名为 test.txt 的文件 os.remove("test.txt") # 指定目录下删除名为 test.txt 的文件 os.remove("C:\\Users\\Administrator\\PycharmProjects\\pythonProject4\\test2\\test.txt") ``` ## 8,使用 os.rename() 方法重命名目录或文件 ``` import os # 把test.txt 修改为 test1.txt print(os.rename("test.txt","test1.txt")) ``` **PS:通过os.path 来操作目录及文件** ## 9,使用 __file__ 特殊成员返回当前py文件的全路径 ``` print(__file__) ``` ## 10,使用 os.path.dirname() 方法返回py文件所在目录路径 ``` import os test_path = os.path.dirname(__file__) print(test_path) ``` ## 11,使用 os.path.abspath() 方法返回文件“绝对路径”(返回当前py文件的全路径) ``` import os test_path = os.path.abspath(__file__) print(test_path) ``` ## 12,组合使用 os.path.dirname() 方法和 os.path.abspath() 方法(返回py文件所在目录路径) ``` import os test_path = os.path.dirname(os.path.abspath(__file__)) print(test_path) ``` ## 13,使用 os.path.join() 方法进行路径拼接 ``` import os test_path = os.path.join(os.path.dirname(__file__),'test5.py') print(test_path) # 绝对路径拼接 test2_path = os.path.join(os.path.dirname(os.path.abspath(__file__)),'test5.py') print(test2_path) ``` ## 14,使用 os.path.exists() 方法判断路径,目录及文件是否存在 ``` import os # 判断文件是否存在 test_path = os.path.abspath(__file__) test = os.path.exists(test_path) print(test) # 判断目录是否存在 test_path = os.path.dirname(os.path.abspath(__file__)) test = os.path.exists(test_path) print(test) # 判断是否为文件 test_path = os.path.join(os.path.dirname(os.path.abspath(__file__)),'test.txt') test = os.path.exists(test_path) print(test) # 判断是否为目录 test_path = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) test = os.path.exists(test_path) print(test) ``` **存在返回 True,否则返回 False** ## 15,os.removedirs() 删除文件 ``` import os os.removedirs("testdir") # 删除文件名为testdir ``` ## 16,判断目录或者文件是否存在 判断目录是否存在,不存在则创建目录; 判断文件是否存在,不存在则创建文件,并且写入内容 ``` print(os.path.exists("b")) if not os.path.exists("b"): os.mkdir("b") if not os.path.exists("b/test.txt"): f = open("b/test.txt","w") f.write("hello ") f.close() ```