您理解错我的意思了,我是想用这种方式来返回我的filename def path_list(main_dir,filename): # main_dir字符串,包含子目录的目录,每个子目录都包含图片,,该函数遍历每个子目录, # 并从中提取图片,然后将文件路径追加到名为dk的列表中 # dk = [] label = [] i = 0 for x in os.listdir(main_dir): print(x) if x != ".DS_Store": # 这里的条件具体问题具体分析(系统不同隐藏文件名称不同) td = main_dir + '/'+ x +'/' for file in os.listdir(td): fl = os.path.join(td, file) dk.append(fl) flag = file.split('_') print(flag) if flag[0] == 'NV': # 本程序暴力行为标签为1,非暴力行为标签为0 label.append(0) else: label.append(1) df = pd.DataFrame(data={"piturePath": dk, "labels": label}) df.to_csv(filename, sep=',',index=False) return filename 你按照这里的标签改一下代码
时间: 2024-02-10 21:25:20 浏览: 52
抱歉,我之前理解错了你的意思。根据你给出的代码,我已经修改了一下,以便为每个文件路径添加标签。请查看以下更改后的代码:
```python
import os
import pandas as pd
def path_list(main_dir, filename):
dk = []
label = []
for x in os.listdir(main_dir):
if x != ".DS_Store":
td = os.path.join(main_dir, x)
for file in os.listdir(td):
fl = os.path.join(td, file)
dk.append(fl)
flag = file.split('_')
if flag[0] == 'NV':
label.append(0)
else:
label.append(1)
df = pd.DataFrame(data={"picturePath": dk, "labels": label})
df.to_csv(filename, sep=',', index=False)
return filename
```
这个函数将遍历指定目录下的每个子目录,并将每个文件的路径添加到名为`dk`的列表中。同时,根据文件名的规则,将标签添加到名为`label`的列表中。最后,函数将创建一个包含文件路径和标签的DataFrame,并将其保存为CSV文件。
要使用这个函数,只需传入主目录和要保存CSV文件的文件名作为参数:
```python
main_dir = 'your_main_directory' # 替换为你的主目录路径
filename = 'your_filename.csv' # 替换为你想要保存的文件名
result_filename = path_list(main_dir, filename)
print(f"CSV文件已保存为:{result_filename}")
```
请确保你已经导入了必要的库(`os`和`pandas`)并进行了正确的设置。希望这次的回答符合你的需求。
阅读全文