已知people文件夹的路径存放在变量folder_path中,文件夹里有三种类型的同名文件,分别为.jpg .txt和.xml。请编写python脚本操作文件夹中所有的jpg文件和txt文件实现以下功能:新建一个子目录images将全部的.jpg文件放入其中并只保留文件名中的数字;新建一个子目录labels将全部的.txt文件放入其中也只保留文件名中的数字。
时间: 2024-02-21 15:59:16 浏览: 137
好的,以下是Python代码实现:
```python
import os
import shutil
# 获取文件夹路径
folder_path = "/path/to/people"
# 遍历文件夹中的所有文件
for file_name in os.listdir(folder_path):
file_path = os.path.join(folder_path, file_name)
# 如果是jpg文件,将其移动到images目录下,只保留数字作为文件名
if file_name.endswith(".jpg"):
new_file_name = "".join(filter(str.isdigit, file_name))
new_file_path = os.path.join(folder_path, "images", new_file_name)
shutil.move(file_path, new_file_path)
# 如果是txt文件,将其移动到labels目录下,只保留数字作为文件名
if file_name.endswith(".txt"):
new_file_name = "".join(filter(str.isdigit, file_name))
new_file_path = os.path.join(folder_path, "labels", new_file_name)
shutil.move(file_path, new_file_path)
```
这段代码首先通过 `os.listdir()` 函数遍历文件夹中的所有文件,然后根据文件类型进行不同的处理。对于 `.jpg` 文件,我们将其移动到 `images` 子目录下,并只保留文件名中的数字部分作为新的文件名;对于 `.txt` 文件,我们将其移动到 `labels` 子目录下,并只保留文件名中的数字部分作为新的文件名。其中,移动文件使用了 `shutil.move()` 函数。
阅读全文