python文件操作总结

本文总结一下最近用到的一些文件及文件夹操作。
(1)获取文件夹里的所有文件名(os.listdir()):

import os
path = XXX  #你自己的文件夹路径
filenames = os.listdir(path)

(2)获取当前工作路径(os.getcwd()):

file_path = os.path.join(os.getcwd(), filename)   #os.path.join()将两个路径结合起来;

(3)修改当前工作路径:

os.chdir(new_path)  #new_path为你想修改的新的工作路径;  

(4)判断文件夹是否存在,若不存在即新建文件夹(os.mkdir()):

if not os.path.exists(file_path):
    os.mkdir(file_path)

(5)删除文件夹:

import shutil
shutil.rmtree(file_name)

(6)压缩文件夹:

def zip_ya(startdir,file_news):
    z = zipfile.ZipFile(file_news,'w',zipfile.ZIP_DEFLATED) #参数一:文件夹名
    for dirpath, dirnames, filenames in os.walk(startdir):
        fpath = dirpath.replace(startdir,'') #这一句很重要,不replace的话,就从根目录开始复制
        fpath = fpath and fpath + os.sep or ''#这句话理解我也点郁闷,实现当前文件夹以及包含的所有文件的压缩
        for filename in filenames:
            z.write(os.path.join(dirpath, filename),fpath+filename)
    z.close()

startdir = './' + new_path   #要压缩的文件夹路径
file_news = startdir +'.zip' # 压缩后文件夹的名字 
zip_ya(startdir,file_news)

这部分内容参考自:【Python】使用Python压缩文件/文件夹
(7)解压缩文件夹:

import zipfile
z = zipfile.ZipFile(newname, 'r') #newname:你的压缩文件
z.extractall(path = XXX) #XXX:解压缩后要存放的文件夹路径
z.close()

(8)批量修改文件夹的后缀名:

def change_zip_to_rar():    
    ##############修改后缀名##############
    files = os.listdir("./Data")#列出当前目录下所有的文件
    os.chdir("./Data")   ##如果当前工作路径与要修改的文件夹路径不同,即必须修改当前工作路径
    for filename in files:
        portion = os.path.splitext(filename)#分离文件名字和后缀
        if portion[1] ==".zip":#根据后缀来修改,如无后缀则空
            newname = portion[0]+".rar"#要改的新后缀
            os.rename(filename,newname)

(9)删除压缩文件:

if os.path.exists(zip_file):
    os.remove(zip_file)  

(10)复制文件:

src = file_path
dst = new_path
shutil.copyfile(src, dst)  #文件从src复制到dst

(11)复制文件夹:

src = file_path
dst = new_path
shutil.copytree(src, dst)  #文件夹从src复制到dst

你可能感兴趣的:(Python)