Python操作文件和目录,,要在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-1\part-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  ospwd=os.getcwd()list=os.listdir(r"E:\python\msexec")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)


Python操作文件和目录

评论关闭