os 模块提供了非常丰富的方法用来处理文件和目录。常用的方法如下所示(字母顺序)

1,os.getcwd()  获取当前工作目录,即当前python脚本工作的目录路径

参数:无

import os
print(os.getcwd())

2,os.chdir(path)  用于改变当前工作目录到指定的路径,相当于shell下cd、

参数:path——要切换到的新路径

os.chdir('E:\Python学习')  # 这里输入你要进入的文件夹路径
print(os.getcwd()) # 打印验证即可

3,os.curdir  返回当前目录: ('.')  ('.')表示当前路径

参数:无

import os
print(os.curdir)  #直接使用返回 .
print(os.path.abspath(os.curdir))  #与os.getcwd()结果是一样的
print(os.getcwd())

4,os.pardir  获取当前目录的父目录字符串名:('..')  ('..')表示父目录

参数:无

import os
print(os.pardir)  #直接使用返回 ..
print(os.path.abspath(os.pardir))  #上级目录

5,os.makedirs(path)  用于递归创建目录,像 mkdir(), 但创建的所有intermediate-level文件夹需要包含子目录

参数:path——需要递归创建的目录,可以是 "/tmp/home/monthly/daily" 这样

print(os.makedirs('a\\b\c')) # b前面2个\\,是因为\b有特殊意义,需要转义
#执行这句代码,就会生成3个文件夹,如下图:

python将当前路径加入到环境变量中_递归

 6,os.removedirs(path)   方法用于递归删除目录。像rmdir(), 如果子文件夹成功删除, removedirs()才尝试它们的父文件夹,直到抛出一个error(它基本上被忽略,因为它一般意味着你文件夹不为空)。

参数:path——要移除的目录路径

print(os.removedirs('a\\b\c')) 
# b前面2个\\,是因为\b有特殊意义,需要转义
# 刚才上面创建的3个文件,通过这个命令就可以直接删除

注:若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推

注:注:makedirs()和removedirs()是一组相反的函数,一个创建一个删除(针对多个层级文件操作)

7,os.mkdir(path)  生成单级目录(文件夹);相当于shell中mkdir dirname

参数:path——要创建的目录

print(os.mkdir('a')) # 创建一个名字为 a 的文件夹

8,os.rmdir(path)  删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname

参数:path——要删除的目录路径

print(os.rmdir('a')) # 删除一个名为 a 的文件夹

9,os.remove(path)  删除路径为path的文件。如果path 是一个文件夹,将抛出OSError; 查看下面的rmdir()删除一个 directory

参数:path——要移除的文件路径

import os
os.remove("132.txt")   #移除123.txt文件
print("deleted successfully !")

 注:mkdir()和remove()是一组相反的函数,一个创建一个删除(针对单个层级文件操作)

10,os.listdir(path)  返回path指定的文件夹包含的文件或文件夹的名字的列表(包括隐藏文件,以列表的形式返回)

参数:path——需要列出的目录路径

import os
print(os.listdir()) # 默认是打印当前文件夹所有文件夹及文件
print(os.listdir("E:\数据分析"))  #打印-E:\数据分析-下的所有文件

 11,os.rename(old_name,new_name)  重命名文件/目录,从 old_name到 new_name,如果new_name是一个存在的目录, 将抛出OSError

参数:old_name——要修改的文件名/目录名

   new_name——修改后的文件名目录名

os.rename("old_name","new_name")

12,os.stat(path)  获取path指定的路径的信息,功能等同于C API中的stat()系统调用

参数:path——指定路径

import os
print(os.stat("E:\数据分析"))

13,os.sep  输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"

参数:无

print(os.sep)
# 在Windows上的pycharm运行结果:\

14,os.linesep  输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"

参数:无

15,os.pathsep  输出用于分割文件路径的字符串 win下为; , Linux下为:

import os
print(os.pathsep)  #打印结果为;

 16,os.name  输出字符串指示当前使用平台。win->'nt'; Linux->'posix'

import os
print(os.name)  #打印结果为nt

17,os.environ  获取系统环境变量

18,特殊用法

import sys,os
BASE_DIR = os.path.dirname(os.path.dirname(__file__)) #获取文件的绝对路径
sys.path.append(BASE_DIR)

 19,os处理路径

#方式一:推荐使用
import os
#具体应用
import os,sys
possible_topdir = os.path.normpath(os.path.join(
    os.path.abspath(__file__),
    os.pardir, #上一级
    os.pardir,
    os.pardir
))
sys.path.insert(0,possible_topdir)