为了账号安全,请及时绑定邮箱和手机立即绑定

os.walk()应用于订单程序

os.walk()应用于订单程序

Smart猫小萌 2023-12-29 10:33:02
我想在我的具体情况下使用 walk.os,因为时间到了,我订购了一些图像。这些图像位于文件夹“D:/TR/Eumetsat_IR_photos/Prueba”中,我的想法是从“D:/TR/Eumetsat_IR_photos”中包含的不同文件夹中获取所有图像,将它们排序到两个名为“白天”和“夜间”的特定文件夹中。我不知道如何调整程序以使用这个 os.walk()这并不重要,但是图像的时间出现在第 37 和 39 位的所有图像名称中(这样你就可以正确理解它)。谢谢from os import listdir, path, mkdirimport shutildirectorio_origen = "D:/TR/Eumetsat_IR_photos/Prueba"directorio_destino_dia = "D:/TR/IR_Photos/Daytime"directorio_destino_noche = "D:/TR/IR_Photos/Nighttime"def get_hour(file_name):    return file_name[37:39]for fn in list0:    hora = int(get_hour(fn))    file_directorio= directorio_origen+"/"+fn    if 6 < hora < 19:         new_directorio= directorio_destino_dia    else:        new_directorio= directorio_destino_noche            try:        if not path.exists(new_directorio):            mkdir(new_directorio)        shutil.copy(file_directorio, new_directorio)    except OSError:        print("el archivo %s no se ha ordenado" % fn)
查看完整描述

1 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

通过对代码进行一些修改,类似这样的事情就可以做到:


import shutil

import os


directorio_origen = "D:/TR/Eumetsat_IR_photos/Prueba"

directorio_destino_dia = "D:/TR/IR_Photos/Daytime"

directorio_destino_noche = "D:/TR/IR_Photos/Nighttime"


def get_hour(file_name):

    return file_name[37:39]


for root, dirs, files in os.walk(directorio_origen, topdown=False):

    for fn in files:

        path_to_file = os.path.join(root, fn)

        hora = int(get_hour(fn))

        new_directorio = ''

        if 6 < hora < 19: 

            new_directorio= directorio_destino_dia

        else:

            new_directorio= directorio_destino_noche

        try:

            if not os.path.exists(new_directorio):

                os.mkdir(new_directorio)

            shutil.copy(path_to_file, new_directorio)

        except OSError:

            print("el archivo %s no se ha ordenado" % fn)


查看完整回答
反对 回复 2023-12-29
  • 1 回答
  • 0 关注
  • 46 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信