相对路径:相对于当前文件路径的位置
绝对路径:完整的路径,从盘符到文件名
目录中出现\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))