美文网首页
python-文件处理

python-文件处理

作者: 时光不说话 | 来源:发表于2017-12-02 20:36 被阅读0次

    文件的基本方法

    1、文件路径在不同系统上的不同表达方式

    OS X :文件路径用正斜杠,/
    Linux:文件路径用正斜杠,/
    Windows:文件路径用反斜杠,\ (第一个反斜杠代表转义,即\\)
    

    2、当前工作路径,cwd
    3、工作路径相关方法

    需要import os模块
    
    os.getcwd() //获取当前工作路径
    os.chdir()  //改变工作路径,改变后,之前该路径下的文件路径,都变为更改后的路径
    

    4、相对路径和绝对路径

    .. 两个点代表父文件夹
    .  一个点代表当前文件夹
    
    os.path.abspath() //返回参数的绝对路径字符串
    os.path.isabs() //判断参数是否是绝对路径
    os.path.isabs(os.path.abspath()) -->返回True
    os.path.relpath(path,start) //返回从start到path的相对路径字符串;如果没有提供start,就从当前路径作为开始路径
    os.path.dirname() //返回参数总最后一个斜杆之前的所有内容,即目录名称,可用于查看文件的路径
    os.path.basename() //回参数总最后一个斜杆之后的内容,即基本名称,可用于查看文件的文件名
    os.path.split() // 返回文件目录名称和基本名称的元组
    'path'.split(os.path.sep) // 将path的路径按照斜杠分割称若干个字符串
    

    5、文件夹相关的方法

    os.makedirs() //创建新的文件夹,可以连续创建多级文件夹
    os.path.getsize(path) //返回path参数重文件的字节数,即文件大小
    os.listdir(path) // 返回文件名的字符串列表,包含path参数中的每一个文件
    os.path.join()//用于构建系统上的有效路径,可以添加几个参数,用于创建路径
    

    6、查看路径有效性

    os.path.exists() // 判断路径是否存在,返回布尔结果
    os.path.isfile() // 判断参数存在,且为一个文件,返回布尔结果
    os.path.isdir() // 判断参数存在,且问一个文件夹,返回布尔结果
    

    文件的读写

    1、调用open()函数,返回一个File对象

     helloFile = open('/文件地址')
    

    2、调用File对象的read()或者write()方法

    读取文件    
    helloContent = helloFile.read()
    //也可以用readline()方法,从该文件中取得一个字符串的列表,没有字符串就是文件中的每一个行数据
    
    
    写入文件
    helloFile.write('rewrite')  //返回字符串的长度,此时helloFile文件被覆盖
    helloFile.write('rewrite','a') //使用第二个参数a,表示添加模式,此时helloFile文件不会被覆盖,而是在文件末尾添加
    

    3、调用File对象的close()方法,关闭该文件

    helloFile.close()
    

    组织文件

    1、shutil

    shutil.copy(source, destination) //将路径source处的文件复制到路径destination处的文件夹;如果destination是个文件名,则会给这个复制文件起个新的名字
    shutil.move(source, destination) //将路径source处的文件移动到路径destination处的文件夹;如果destination是个文件名,则会给这个文件修改为新的名字
    os.unlink(path) //将path处的文件夹移除,彻底删除
    filename.endswith(' ') // 判断特定的文件结尾
    send2trash.send2trash() // 删除文件和文件夹,移除到回收站
    

    2、遍历目录树

    os.walk('') //遍历路径,返回3个值,分别是当前文件夹名称的字符串,当前文件夹中字文件夹的字符串的列表,当前文件夹中文件的字符串的列表
    

    3、zipfile模块压缩文件

    1)读取zip文件

    exampleZip = zipfile.ZipFile('example.zip')
    exampleZip.namelist()// 返回目录
    spamInfo = exampleZip.getinfo('examplefile.txt')// 返回一个ZipInfo对象
    spamInfo.file_size //返回对象文件的原始大小
    spamInfo.compress_size //返回对象文件压缩后的大小
    exampleZip.close() //关闭文件流
    

    2)总Zip文件中解压

    exampleZip = zipfile.ZipFile('example.zip')
    exampleZip.extractall() //执行后文件会被解压到c盘根目录
    exampleZip.extractall('文件路径') //执行后文件会被解压到参数文件路径中,若路径不存在,则会创建新的
    
    exampleZip.extract('压缩文件中的特定文件','解压后的路径') //解压压缩文件中的特定文件,也可以用第二个参数传入解压后的路径
    eexampleZip.close()
    

    3)创建和添加到zip文件

    newZip = zipfile.ZipFile('new.zip','w') //以写模式打开ZipFile对象,会擦除原有文件,添加的话,第二个参数是'a'
    newZip.write('文件',compress_type=zipfile.ZIP_DEFLATED) //ZIP_DEFLATED是指压缩算法
    newZip.close()
    

    相关文章

      网友评论

          本文标题:python-文件处理

          本文链接:https://www.haomeiwen.com/subject/qarwbxtx.html