鱼C论坛

 找回密码
 立即注册
123
返回列表 发新帖
楼主: 新手·ing

[技术交流] Python:每日一题 21(答题领鱼币)

[复制链接]
发表于 2019-3-7 23:21:44 | 显示全部楼层
see
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-3-31 20:55:46 From FishC Mobile | 显示全部楼层
知识盲区
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-31 10:26:11 | 显示全部楼层
交作业~
  1. import os
  2. import shutil

  3. if __name__ =='__main__':
  4.           os.chdir(r'./Filetest')
  5.           list1 = os.listdir()
  6.           file_name =[]
  7.           for each in list1:
  8.                     file_name = each.split('-')[0]
  9.                     if os.path.exists(file_name):
  10.                               pass
  11.                     else:
  12.                               os.mkdir(file_name)
  13.                     shutil.move(each,file_name)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-27 16:03:33 | 显示全部楼层
import os
import shutil
def filemovetonewfolder():
    file_dir = str(input("please enter the folder path:"))
    file_type = str(input("please enter the file type:"))
    filelist = []
    for root,dirs,files in os.walk(file_dir):
        for file in files:
            if os.path.splitext(file)[1] == file_type: #获取文件后缀
                filelist.append(file)
    for i in range(len(filelist)):
        Filefolder=filelist[i].split('-')[0]
        Fpath = file_dir + "\\" + Filefolder #创建的文件夹路径
        Filepath = file_dir + "\\" + filelist[i] #文件路径
        if os.path.exists(Fpath):
            shutil.move(Filepath,Fpath)
        else:
            os.mkdir(Fpaht)
            shutil.move(Filepath,Fpath)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-7 00:23:05 | 显示全部楼层
早知道这个,工作就不用那么痛苦了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-9 22:27:33 From FishC Mobile | 显示全部楼层
666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-1 12:14:32 | 显示全部楼层
  1. import os, shutil
  2. filefolder = []
  3. for each in os.listdir('.\\filetest'):  # 获取文件夹中所有的文件名
  4.     foldername = each.split('-',1)[0]
  5.     if foldername not in filefolder:
  6.         os.mkdir('.\\filetest'+'\\'+foldername)
  7.         filefolder.append(foldername)
  8.     if each.startswith(foldername):
  9.         shutil.move('.\\filetest'+'\\'+each,'.\\filetest'+'\\'+foldername)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-1 15:08:52 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-16 13:28:52 | 显示全部楼层
学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-1 22:22:31 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-3 16:17:58 | 显示全部楼层
来学习下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-27 17:00:17 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-5 11:06:03 | 显示全部楼层
'''
现在有一个文件夹Filetest,文件夹中有大量的图片
图片的名称是这样的12345-1.jpg、23456-1.jpg、12345-2.jpg、12345-3.jpg...
图片的数量很多,格式都是数字串号+横杠+图片编号


现在需要进行操作:
1,在Filetest文件夹中建立子文件夹,子文件夹的个数由图片的前面一个数字串号来决定,例如,上面的图片12345-1.jpg、12345-2.jpg、12345-3.jpg这三个需要建立一个文件夹名称为12345的文件夹,依次类推
2,把所有图片分类放到新建的文件夹中,规律就是按照图片前面的串号来分

程序思路:
1.得到每个图片的文件名称:os.listdir(path) path--需要列出的目录路径;返回的是指定路径的的文件或文件夹的名称
2.如何区分文件或者文件夹:os.path.isdir(path)--判断路径是否为目录;os.path.isfile(path)--判断路径是否为文件
3.获取文件名称:os.path.basename(path)--返回文件名
4.按要求移动文件or目录:shutil.move(“oldpos”,”newpos”)
'''

import os,shutil
path = "C:/Users/Lenovo/Desktop/Filetest"
listdir = os.listdir(path)
#根据图片名称创建子文件夹
for i in range(len(listdir)):
    #判断是否为文件而不是文件夹
    if os.path.isfile(path+"/"+listdir[i]):
        filename = os.path.basename(path+"/"+listdir[i])
        #如果文件不存在则创建文件
        if os.path.isdir(path+"/"+filename.split(".")[0].split("-")[0]) == False:
            os.mkdir(path+"/"+filename.split(".")[0].split("-")[0])
#判断文件和文件夹名称相同则进行移动操作
for i in range(len(listdir)):
    if os.path.isfile(path+"/"+listdir[i]):
        print(path+"/"+listdir[i])
        print(path+"/"+listdir[i].split(".")[0].split("-")[0])
        shutil.move(path+"/"+listdir[i],path+"/"+listdir[i].split(".")[0].split("-")[0])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-4 11:19:51 | 显示全部楼层
  1. import os.path
  2. import os
  3. import shutil

  4. Path = 'C://Users//user//Desktop//Filetest'
  5. name = os.listdir(Path)
  6. Filename = []
  7. dirname = []

  8. for each in name:
  9.     filename = each.split('-',)[0]
  10.     Filename.append(filename)

  11. for each in Filename:
  12.     if each not in dirname:
  13.         dirname.append(each)
  14.         os.mkdir(os.path.join(Path,each))

  15. for i in dirname:
  16.     for j in name:
  17.         if j.split('-')[0] == i:
  18.             shutil.move(os.path.join(Path,j), os.path.join(Path, i))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-27 08:57:25 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-29 15:07:46 | 显示全部楼层
这题我不会...学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-14 13:51:53 | 显示全部楼层
欢迎小伙伴们,一起答题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-2 23:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表