Python 中的os模块(操作系统相关)

Python 中的os模块(操作系统相关)

(1) 文件和文件夹的操作相关
  1. os.makedirs(‘dirname1/dirname2’) ,生成多层递归目录
  2. os.removedirs(‘dirname1’), 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,以此类推
  3. os.mkdir(‘dirname1’), 生成单级目录,相当于shell中的mkdir dirname
  4. os.rmdir(‘dirname’), 删除单级目录,若目录不为空报错,相当于shell中的 rmdir dirname
  5. os.listdir(‘dirname’), 列出指定目录下的所有文件和子目录,包含隐藏文件,并以列表的方式打印
  6. os.remove(‘dirname’), 删除一个文件
  7. os.rename(‘oldname’,‘newname’), 重命名文件/目录
  8. os.stat(‘path/filename’), 获取文件,目录信息
(2) 执行操作系统的命令相关
  1. os.system(‘bash command’), 运行shell命令,直接显示,没有返回值(适合做实际的操作)
  2. os.popen(‘bash command’), 运行shell命令,获取执行结果,然后用read方法获取结果
  3. os.getcwd(), 获取当前工作目录,即当前python脚本工作的目录路径
  4. os.chdir(‘dirname’), 改变当前脚本的工作目录,相当于shell下的cd
(3) 处理路径相关(os.path)
  1. os.path.absth(path), 返回path规范的绝对路径
  2. os.path.split(path), 将path分割成目录和文件名二元组返回
  3. os.path.dirname(path), 返回path的路径,其实就是os.path.split(path)的第一个元素
  4. os.path.basename(path), 返回path最后的文件名,如path以/或\结尾,那么就会返回空值,即os.path.split(path)的第二个元素
  5. os.path.exists(path), 如果path存在返回True,不存在返回False
  6. os.path.isabs(path), 如果是绝对路径返回True,否则返回False
  7. os.path.isfile(path), 如果是一个存在的文件,返回True,否则返回False
  8. os.path.isdir(path), 如果path是一个存在的目录,返回True,否则返回False
  9. os.path.join(path1,path2,… ]), 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
  10. os.path.getatime(path), 返回path所指向文件或目录最后访问时间,返回值为时间戳时间
  11. os.path.getmtime(path), 返回path所指向文件或者目录最后的修改时间,返回值为时间戳时间
  12. os.path.getsize(path), 返回path(文件夹不能准确统计)的大小(字节数)
(4) 输出操作系统的相关信息
  1. os.name, 输出字符串指示当前使用的平台
  2. os.sep, 输出操作系统特定的路径分割符,win下为’\’,Linux下为’/’
  3. os.pathsep, 输出用于分割文件路径的字符串,win下为;,Linux下为:
  4. os.linesep, 输出当前平台使用的行终止符,win下为’\t\n’,Linux下为’\n’
(5) os模块的应用
  1. 获取文件夹的真实大小(这里采用的是递归)
import os
loc='D:/A个人文档'
lst=[]
def search(loc):
    if os.path.isdir(loc):
        dirs = os.listdir(loc)
        for ele in dirs:
            ele=loc+'/'+ele
            if os.path.isdir(ele):
                search(ele)
            if os.path.isfile(ele):
                lst.append(ele)
    if os.path.isfile(loc):
        lst.append(loc)
    S=0
    for ele in lst:
        S=S+os.path.getsize(ele)
    return S
ret=search(loc)
print(ret)

运行结果如图:
1

发布了66 篇原创文章 · 获赞 7 · 访问量 2377

猜你喜欢

转载自blog.csdn.net/qq_45894553/article/details/104881248