美文网首页
python 自动化办公-文件和文件夹操作

python 自动化办公-文件和文件夹操作

作者: 刘年 | 来源:发表于2020-03-21 14:14 被阅读0次

    创建临时文件

    #创建临时文件,并不会写到具体文件中去
    from tempfile import TemporaryFile
    f=TemporaryFile('w+')   #写入及读取文件
    f.write('hello,world\n')
    f.seek(0)   #回到文件开头,如果不回到,读出来的不完整或者是空值
    data = f.readlines()
    print(data)
    f.close()
    

    with 形式

    #创建临时文件,并不会写到具体文件中去
    from tempfile import TemporaryFile
    with TemporaryFile('w+') as f:
        f.write('hello,world\n')
        f.seek(0)   #回到文件开头,按照字符串索引
        data = f.readlines()
        print(data)
        f.close()
    

    创建临时文件夹

    程序结束后会删除
    注意一下f格式的字符串格式化表达方式

    #创建临时文件夹
    from tempfile import TemporaryDirectory
    with TemporaryDirectory() as ff:
        print(f'临时文件夹已创建在:{ff}')
    

    创建新文件夹

    创建的这个文件夹不能已经存在,不然会报错

    #创建文件夹
    import os
    os.mkdir('新文件夹')
    

    所以一般会加判断句式

    #创建文件夹
    import os
    if not os.path.exists('新文件夹'):
        os.mkdir('新文件夹')
    

    复制文件

    #复制文件,该文件夹一定要先存在
    import shutil
    shutil.copy('wx.json','新文件夹s\ss.json')
    shutil.copy('wx.json','新文件夹s\\')
    

    复制文件夹

    #复制文件夹
    import shutil
    shutil.copytree('olddir','newdir')
    

    移动文件(夹)

    #移动文件(夹)
    import shutil
    shutil.move('11.txt','新文件夹\\1.txt')
    shutil.move('11.txt','新文件夹\\')
    shutil.move('旧文件夹','新文件夹\\')
    

    如果是移动文件夹,那么接受目录一定要加斜杠

    重命名

    #重命名
    import os
    os.rename('old.txt','new.txt')
    os.rename('olddir','newdir')
    

    删文件

    #重命名
    import os
    os.remove('1.txt')
    

    删文件夹

    #重命名
    import shutil
    shutil.retree('olddir')
    

    作业1

    1.找到当前目录所有.zip文件
    2.文件重命名,加上修改日期
    3.创建新文件夹
    4.重命名后的文件移动到新文件夹中
    5.重命名的文件添加到压缩包,并按照今天的日期给压缩包命名
    6.压缩包移到新建文件夹中,然后删除原始文件

    创建和解压压缩包

    #创建和解压压缩包
    import zipfile
    with zipfile.ZipFile('11.zip','r') as ff:
        print(ff.namelist())
    
    • 处理解压文件名的中文乱码
    #创建和解压压缩包
    import zipfile
    with zipfile.ZipFile('11.zip','r') as ff:
        for filename in ff.namelist():
            print(filename.encode('cp437').decode('gbk'))
    
    • 压缩包内信息
    import zipfile
    with zipfile.ZipFile('11.zip','r') as ff:
        for filename in ff.namelist():
            info =ff.getinfo(filename)
            print(filename,info)
    
    • 解压
      可以默认不给路径
    import zipfile
    with zipfile.ZipFile('11.zip','r') as ff:
    #某个文件解压
        ff.extract('压缩包中的文件','路径')
        ff.extract('压缩包中的文件')
    #整个解压,如果有密码还可以加上密码,但是要先转码
        ff.extractall(path=,pwd=b'')
    
    • 创建压缩包
    import zipfile
    filelist =['1.txt','2.txt','3.xlsx']
    with zipfile.ZipFile('创建压缩包.zip','w') as ff:
        for file in filelist:
            ff.write(file)
    
    • 往已有压缩文件里面追加文件,参数改成‘a’即可
    import zipfile
    filelist =['1.txt','2.txt','3.xlsx']
    with zipfile.ZipFile('创建压缩包.zip','a') as ff:
        for file in filelist:
            ff.write(file)
    

    相关文章

      网友评论

          本文标题:python 自动化办公-文件和文件夹操作

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