我有这个代码,它向我展示了我提供的文件夹中的所有.tif文件。
timestr = datetime.now().strftime('%Y%m%d-%H%M%S%f')
ex_area_files = []
tif_files = glob.glob('C:\\Users\\Bob\\Desktop\\Folder\\' + str(timestr) + '\\EXTRACTED\\*.tif')
ex_area_files = [tif_files]
print(ex_area_files)
如何将一些指定的(移动到另一个文件夹)?我的意思是,我想移动所有.tif文件,其宽度*高度的结果小于/大于某个值。
我尝试的是循环遍历数组,并在设置了编码后移动文件。所有结果都是一个循环失败,阻塞了所有系统:)
接下来......
image = cv2.imread('image.jpg')
height = np.size(image, 0)
width = np.size(image, 1)
condition = (height*width) > 9600
我怎样才能将ex_area_files
(我的.tif数组)设置为cv2可以读取的文件目录?更重要的是,如何一次设置文件?
满足条件的文件(值为320 * 30px的图像)应该移动到另一个目录。程序确定文件可以移动后如何操作?
由于
提示:这是另一段代码之后的下一步:Exclude images of certain dimensions from process (OpenCV, Python)
在这种情况下,请查看ex_area14.png
。我想移动一系列这样的文件(但是以.tif格式......)
答案 0 :(得分:2)
我建议使用shutil
来移动文件。移动它们您可以使用shutil.copy()
- 我个人使用shutil.copy2()
所以尝试这样的事情:
import shutil
import opencv
for files in ex_area_files:
if files (PLACE YOUR CONDITION HERE):
`shutil.copy('PATH_OF_file', 'PATH_OF_WHERE_TO_DROP')
编辑:
所以我个人喜欢os.walk()
,这里我循环浏览文件,如果文件以.tif
结尾,我会用imread
读取文件获取高度和宽度,并检查是否满足该条件。您必须提供要将文件复制到的位置。 (请注意.replace()
- imread
出于某种原因喜欢像[{1}}而不是/
这样的斜杠
\