美文网首页
python基础——批量进行文件操作

python基础——批量进行文件操作

作者: 刘年 | 来源:发表于2020-03-18 20:43 被阅读0次

    1、批量创建文件目录

    其实文件和目录操作难点无非是搞清楚先后的文件夹和文件名而已

    • os.makedirs
      可以不用管上级目录是否存在,也就是可以创建多级目录
    import os
    #批量生成目录文件夹
    #os.makedirs
    dq=os.getcwd()
    print(dq)
    for x in range(1,11):
        filename = os.path.join(dq,'hg',str(x))
        print(filename)
        os.makedirs(filename)
    
    • os.mkdir
      上级目录必须存在,也就是说只能在现有目录下再建一级
    import os
    #批量生成目录文件夹
    #os.mkdir
    dq=os.getcwd()
    print(dq)
    for x in range(1,6):
        filename = os.path.join(dq,str(x))
        print(filename)
        os.mkdir(filename)
    

    2、批量创建文件

    import os
    cwd =os.getcwd()
    dir_path =os.path.join(cwd,'ss')
    os.makedirs(dir_path)
    for x in range(1,11):
        file_path =os.path.join(dir_path,str(x)+'.txt')
        ff=open(file_path,'w')
        ff.close()
    

    3、批量修改文件名

    import os
    #读取文件夹下的文件名
    filelist =os.listdir('ss')
    #print(filelist)
    for index,file in enumerate(filelist):
        if '.txt' in file:
            os.rename('ss\\'+file,'ss\\'+str(index+800)+'.txt')
        else:
            pass
    

    4、批量移动文件

    import os
    import shutil
    #移动前的文件夹和文件名
    #路径:ss\\
    olddir = input('原文件所在文件夹:')
    filenames = os.listdir(olddir)
    filedirs =list(map(lambda x:olddir+'\\'+x,filenames))
    #移动后的文件夹
    newdir =input('要将文件移动到:')
    #判断文件夹是否存在
    if os.path.isdir(newdir):
        pass
    else:
        os.mkdir(newdir)
    # newfiledirs = list(map(lambda x:newdir+'\\'+x,filenames))
    #一定要是路径,不能是温文件名
    for filedir in filedirs:
        shutil.move(filedir,newdir)
    

    5、批量复制文件

    区别在于copyfile和move参数不一样,一个是文件对文件,一个是文件对文件夹

    import os
    import shutil
    #移动前的文件夹和文件名
    #路径:ss\\
    cwd =os.getcwd()
    olddir = input('原文件所在文件夹:')
    filenames = os.listdir(olddir)
    filedirs =list(map(lambda x:cwd+'\\'+olddir+'\\'+x,filenames))
    #移动后的文件夹
    newdir =input('要将文件移动到:')
    #判断文件夹是否存在
    if os.path.isdir(newdir):
        pass
    else:
        os.mkdir(newdir)
    newfiledirs = list(map(lambda x:cwd+'\\'+newdir+'\\'+x,filenames))
    for index,filedir in enumerate(filedirs):
        shutil.copyfile(filedir,newfiledirs[index])
    

    相关文章

      网友评论

          本文标题:python基础——批量进行文件操作

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