os.walk() 在订单程序中应用
os.walk() applied in an order program
我想在我的特定情况下使用 walk.os,因为现在是小时,我订购了一些图片。这些图像位于“D:/TR/Eumetsat_IR_photos/Prueba”文件夹中,我的想法是从“D:/TR/Eumetsat_IR_photos”中包含的不同文件夹中获取所有图像,然后将它们排序到两个特定的文件夹中,分别称为 Daytime 和 Nighttime .我不知道如何调整程序以使用此 os.walk()
这并不重要,但是图片的小时出现在所有图片名称的第37和39位(所以你可以正确理解它)。
谢谢
from os import listdir, path, mkdir
import shutil
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 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)
只需稍微修改一下您的代码,就可以像这样完成:
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)
我想在我的特定情况下使用 walk.os,因为现在是小时,我订购了一些图片。这些图像位于“D:/TR/Eumetsat_IR_photos/Prueba”文件夹中,我的想法是从“D:/TR/Eumetsat_IR_photos”中包含的不同文件夹中获取所有图像,然后将它们排序到两个特定的文件夹中,分别称为 Daytime 和 Nighttime .我不知道如何调整程序以使用此 os.walk()
这并不重要,但是图片的小时出现在所有图片名称的第37和39位(所以你可以正确理解它)。
谢谢
from os import listdir, path, mkdir
import shutil
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 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)
只需稍微修改一下您的代码,就可以像这样完成:
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)