目录与文件操作

相对路径:相对于当前文件路径的位置
绝对路径:完整的路径,从盘符到文件名
目录中出现\n \t 等转义字符时,这些字符会区别于普通字符的颜色,可以提醒我们去修改路径写法

import os

新建目录/文件夹,使用相对路径或绝对路径都可以

os.mkdir("directory_1")

跨级新建目录 用"/"代表路径层级
os.mkdir("directory_1/dictoy_2")
os.mkdir(R"G:\test_new2")

删除目录 rmdir

目录下如果存在下级目录,不能删除
需要一级一级删除,不推荐一次删除
os.rmdir("directory_1")

列出目录的文件

path = os.getcwd() # 返回当前的目录
print(os.listdir(path))

拓展怎么一次删除所有目录、怎么删除文件
删除指定文件

with open("new1.py", "a+") as file:
file.write("print()")
os.remove("new1.py")

获取当前目录 具体到文件夹的名称,方法1

根据相对路径获取的文件绝对路径,相对路径变了,则获取的绝对路径也会变
path = os.getcwd()
print("current working directory:{}".format(path))

获取文件的完整路径 具体到文件名,_file_表示当前文件

path = os.path.realpath(file)
print("当前文件的完整路径是:{}".format(path))

获取当前目录,方法2

直接获取文件的绝对路径
dir_c = os.path.dirname(os.path.realpath(file))
print(dir_c)

拼接路径

n_path = os.getcwd() + "\dir2"
print(n_path)
os.mkdir(n_path) 【新建拼接路径的目录】

通过join函数拼接目录

path = os.path.join(os.getcwd(), "dir3")
print(path)
os.mkdir(path)

  • 必须保证dir3存在,才能创建目录成功
    path = os.path.join(os.getcwd(), "dir3\dir4")
    print(path)
    os.mkdir(path)

  • join函数有不定长参数,所以可以拼接多级目录,同样的,倒数第二级目录必须存在才能创建成功
    path = os.path.join(os.getcwd(), "dir2", "dir5")
    print(path)
    os.mkdir(path)

path = os.path.join(os.getcwd(), "dir2\dir5", "dir6\dir7")
print(path)

判断文件还是目录 返回值是布尔值

print(os.path.isfile(os.getcwd())) 【判断是否是文件】
print(os.path.isfile(os.path.realpath(file)))

print(os.path.isdir(os.getcwd())) 【判断是否是目录】

判断文件是否存在

file = os.path.realpath(file)
print(os.path.exists(file))

获取目录下的所有文件和子目录

print(os.listdir(os.getcwd()))

os.path.split(path)文件目录分割:

1.path如果是具体到文件名,则返回最后层级的文件,和文件之前的路径
2.path如果具体到文件夹,则返回最后一层文件夹,和文件夹之前的路径
3.返回值的类型是元组

dir_name = os.path.split(r"H:\python_lemon\API_AUTO\tools")
print(dir_name)
f_name = os.path.split(r"H:\python_lemon\API_AUTO\tools\do_excel.py")
print(f_name, type(f_name))

原文地址:https://www.cnblogs.com/come202011/p/12229464.html