常见术语及用法
![]()
路径
# 分隔符
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()