• Python操作文件和目录


    要在Python程序中执行目录和文件的操作,通过内置的os模块,也可以直接调用操作系统提供的接口函数。

    os.path.abspath('.') # 查看当前目录的绝对路径
    os.path.join('/Users/qa002', 'testdir') #在某个目录下创建一个新目录,首先把新目录的完整路径表示出来
    os.mkdir('/Users/qa002/testdir')# 然后创建一个目录
    os.rmdir('/Users/qa002/testdir')  # 删掉一个目录

    把两个路径合成一个时,不要直接拼字符串,而要通过os.path.join()函数,这样可以正确处理不同操作系统的路径分隔符。

    在Linux/Unix/Mac下,os.path.join()返回这样的字符串: part-1/part-2

    而Windows下会返回这样的字符串:part-1part-2

    同样的道理,要拆分路径时,也不要直接去拆字符串,通过os.path.split()函数,这样可以把一个路径拆分为两部分,后一部分总是最后级别的目录或文件名:

     os.path.split('/Users/qa002/testdir/file.txt')   #('/Users/qa002/testdir', 'file.txt')

    os.path.splitext()可以直接让你得到文件扩展名,很多时候非常方便:

    os.path.splitext('/path/to/file.txt')  #('/path/to/file', '.txt')

    几个基本的的方法:

    1)os.getcwd()  #返回当前工作目录

    2)os.listdir()    #返回一个列表,包含当前工作目录下的文件和路径

    import  os
    pwd=os.getcwd()
    list=os.listdir(r"E:pythonmsexec")
    print("当前目录:"+pwd)
    print(list)

    3)os.path.join(path,*paths) 路径拼接

    4)os.path.isfile(path)  判断是不是文件,返回布尔值

     2.如何输出所有的文件路径呢?

    代码:

    def allfile(basepath):
        for item in os.listdir(basepath):     #循环目录下的每一个元素(目录或文件)
            path=os.path.join(basepath,item)    #路径拼接:要查询目录 + 第一级目录/文件
            if os.path.isfile(path):       #判断:若果为文件,直接输出path
                print(path)
            else:
                allfile(path)   #如果仍是是目录,递归调用当前函数
    
    path=os.getcwd()
    allfile(path)


  • 相关阅读:
    vue+sass 下sass不能运行问题
    Servlet3.0的新特性
    Servlet监听器
    Servlet过滤器
    会话跟踪
    Servlet的应用
    Servlet概述
    《南怀瑾讲述99个人生道理》——刘清海编著
    Web应用程序简介
    JDBC学习总结(五)
  • 原文地址:https://www.cnblogs.com/carey9420/p/11993967.html
Copyright © 2020-2023  润新知