Python入门 - 路径、文件、文件夹
常见术语及用法
路径
# 分隔符 print(os.pathsep) # ; print(os.altsep) # / print(os.extsep) # . # 拼接 print(os.path.join("a", "b", "c")) # a\b\c # 绝对路径 print(os.path.abspath("a/b/c")) # C:\Users\win\PycharmProjects\myTest\a\b\c print(os.path.isabs("a/b/c")) # False # 相对路径, 盘符不存在会抛异常 print(os.path.relpath("G:/_pyProj/sources/testdemo/a/b/c")) # a\b\c # 路径信息 print(os.path.normpath("a/b/c")) # a\b\c, 规范路径分隔符等 print(os.path.realpath("a/b/c")) # C:\Users\win\PycharmProjects\myTest\a\b\c # 文件夹名 print(os.path.dirname("G:/_pyProj/sources/testdemo/test.bin")) # G:/_pyProj/sources/testdemo print(os.path.dirname("G:/_pyProj/sources/testdemo/")) # G:/_pyProj/sources/testdemo print(os.path.dirname("G:/_pyProj/sources/testdemo")) # G:/_pyProj/sources/ print(os.path.dirname("New Folder/test.bin")) # New Folder print(os.path.dirname("New Folder/")) # New Folder print(os.path.dirname("New Folder")) #
文件操作
# 是否文件 print(os.path.isfile("New Folder/test.bin")) # 是文件且存在返回True print(os.path.isfile("New Folder/")) # False print(os.path.isfile("New Folder")) # False # 文件存在, 文件重命名(移动), 文件删除 if os.path.exists("New Folder/test.bin"): print("test.bin存在: 先移动, 再删除") os.rename("New Folder/test.bin", "New Folder/a/b/test2.bin") # 要保证New Folder/a文件夹存在, 否则会抛异常 print(os.path.exists("New Folder/test.bin")) # False os.remove("New Folder/a/b/test2.bin") # 要删除的文件不存在会抛异常 print(os.path.exists("New Folder/a/b/test2.bin")) # False else: print("test.bin不存在: 新建") f1 = open("New Folder/test.bin", "w") f1.close()
文件夹操作
# 当前文件夹 print(os.getcwd()) # G:\_pyProj\sources\testdemo os.chdir("./New Folder") print(os.getcwd()) # G:\_pyProj\sources\testdemo\New Folder # 文件夹存在, 文件夹创建 if not os.path.exists("a/"): os.mkdir("a/") else: print("a/已存在") if not os.path.exists("a/b/c"): os.makedirs("a/b/c") else: print("a/b/c已存在") # 文件夹删除 os.rmdir("a/b/c") # 删除空文件夹c, a/b不会被删 print(os.path.exists("a/")) # True # os.removedirs() # 删除文件夹及里面的文件 # 是否为文件夹 print(os.path.isdir("a")) # True print(os.path.isdir("test.bin")) # False # 文件夹遍历 dirFiles = os.listdir("./") print(type(dirFiles)) for dirFile in dirFiles: print(dirFile, ":", type(dirFile)) print(os.path.realpath(dirFile), os.path.isdir(dirFile)) # 重命名 # os.rename()