如何删除所有文件从他们的文件夹中没有列出的csv文件

xmq68pz9  于 2023-03-27  发布在  其他
关注(0)|答案(1)|浏览(132)

我如何可以从文件夹中删除所有的视频文件,而不是在csv文件中列出,我有基本文件夹contins子文件夹,他们每个人都包括一些视频文件,和csv文件包括视频路径(子文件夹/视频文件)
那么我如何改变这个脚本来处理我的问题呢

import os
import pandas as pd

path = "/Users/shaimaa/Downloads/Code/audio-visual-dataset-master/results_news/news/"

flist = pd.read_csv('/Users/shaimaa/Downloads/Code/audio-visual-dataset-master/results_news/news/Csv files/A_V_dataset.csv')

file_name = flist['fileName'].tolist()

for filename in os.listdir(path):
    print(filename)
    if filename == file_name:
        continue
    elif filename != file_name:
        os.remove(filename)

PermissionError Traceback(most recent call last)in 15 #获取文件的完整路径并删除它16 full_file_path = os.path.join(path,filename)---〉17 os.remove(full_file_path)
权限错误:[Errno 1]不允许操作:'/Users/shaimaa/Downloads/Code/audio-visual-dataset-master/results_news/news/Politics_news_24_p2'
然后我有这个错误
file_name
['政治新闻_3_p1/289.mp4','政治新闻_3_p1/262.mp4','政治新闻_3_p1/276.mp4','政治新闻_3_p1/15.mp4','政治新闻_3_p1/470.mp4','政治新闻_3_p1/302.mp4','政治新闻_3_p1/465.mp4','政治新闻_3_p1/317.mp4','Politics_news_3_p1/115.mp4',' Politics_news_3_p1/288.mp4','Politics_news_3_p1/275.mp4',' Politics_news_3_p1/467.mp4',....

neskvpey

neskvpey1#

这就是我从你的代码逻辑中得到的吗
你要删除的文件不在这个csv文件中,对吧?

import os

import pandas as pd

path = "/Users/shaimaa/Downloads/Code/audio-visual-dataset-master/results_news/news/"

flist = pd.read_csv(
    '/Users/shaimaa/Downloads/Code/audio-visual-dataset-master/results_news/news/Csv files/A_V_dataset.csv'
)

file_name = flist['fileName'].tolist()

file_name_set = set(file_name)

def remove_video(dir_path):
    if not dir_path:
        return
    for filename in os.listdir(dir_path):
        print(filename)
        file_path = os.path.join(path, filename)
        if os.path.isdir(file_path):
            remove_video(file_path)
        if filename in file_name_set:
            continue
        if os.path.exists(file_path):
            os.remove(filename)

if __name__ == '__main__':
    remove_video(path)

相关问题