python学习笔记(22)-os文件操作模块

时间:2023-11-24 09:56:20

疑问:

如果打开操作一个文件,是用绝对路径好还是相对路径好?

os模块,在lib下面,可以直接引入的,直接使用import。

一、新建一个目录,新建一个文件夹

import os

#新建一个文件夹

os.mkdir("wuzm")

#跨级新建目录,用 / 符号代表路径的不同层级,必须确保上面的层级是存在的。

os.mkdir("wuzm/lyn") # 相对路径

os.mkdir("D:\\test_python") #决对路径 \转义字符,\t制表符。我们可以通过\或者前面加r或R使转义字符失效。

二、删除

os.rmdir("wuzm/lyn") #删除文件也是一级一级的删除,不推荐一次性删除

os.remove("wuzm/lyn") #如果wuzm下面有lyn,则不能只删除wuzm这个文件

#拓展:1、python是否可强制性删除

# 2、怎么去新建文件,open可新建,如何删除文件

三、路径的获取

路径的获取1 :获取当前工作目录,具体到最后一级目录

path = os.getcwd()

print("获取到的当前路径是:{0}".format(path))

#路径的获取2 :获取当前文件所在的绝对路径,具体到模块名

path_2= os.path.realpath(__file__) #__file__静态变量,标识模块本身

print("获取到的当前路径是:{0}".format(path_2))

'''输出:

获取到的当前路径是:E:\柠檬班第一周

获取到的当前路径是:E:\柠檬班第一周\lianxi.py'''

四、如何拼接路径

#方法一:

new_path_1 = os.getcwd()+"\pathon1" #拼接一个路径,需要加一个\

print(new_path_1)

os.mkdir(new_path_1) #新建一个这个路径

#方法二:

#new_path_2 = os.path.join(os.getcwd(),"python666\sub1")

new_path_2 = os.path.join(os.getcwd(),"python666","sub1") #这里是不定长参数,不能跨级新建,前面的路径必须存在

print(new_path_2)

os.mkdir(new_path_2)

五、判断是文件还是目录,是bool值

print(os.path.isfile(__file__)) #True

print(os.path.isfile(os.getcwd())) #False 判断是文件

print(os.path.isdir(os.getcwd())) #True 判断是路径,目录

#怎么判断文件是否存在呢?返回的也是bool值

print(os.path.exists('E:\柠檬班第一周\\add.py'))