Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从文件夹列表中删除文件_Python_Nested Loops_Directory - Fatal编程技术网

Python 从文件夹列表中删除文件

Python 从文件夹列表中删除文件,python,nested-loops,directory,Python,Nested Loops,Directory,我的目录中有一个文件夹列表,在每个文件夹中,我都试图删除所有以字母“p”开头的文件 如何让我的第二个for循环迭代每个文件夹中的所有文件?目前,它只是迭代每个文件夹的名称,而不是内部的文件 folder_list_path = 'C:\Users\jack\Desktop\cleanUp' for folder in os.listdir(folder_list_path): print folder for filename in folder: os.chdi

我的目录中有一个文件夹列表,在每个文件夹中,我都试图删除所有以字母“p”开头的文件

如何让我的第二个for循环迭代每个文件夹中的所有文件?目前,它只是迭代每个文件夹的名称,而不是内部的文件

folder_list_path = 'C:\Users\jack\Desktop\cleanUp'
for folder in os.listdir(folder_list_path):
    print folder
    for filename in folder:
        os.chdir(folder)
        if filename.startswith("P"):
            os.unlink(filename)
            print 'Removing file that starts with P...'
未经测试,并使用该模块


您还可以使用
os.walk
--找到子目录,而不是在
文件夹\u list\u path
中的每个项目上循环,并在其上调用
os.path.isdir

使用
glob
查找和
os
删除

import glob, os

for f in glob.glob("*.bak"):
    os.remove(f)

在程序文件夹中有一个相对路径。请尝试此程序的修改版本:

import os
folder_list_path = 'C:\Users\jack\Desktop\cleanUp'
for folder in os.listdir(folder_list_path):
    print folder
    subdir=os.path.join(folder_list_path,folder)
    for file in os.listdir(subdir):
        path=os.path.join(subdir,file)
        if os.path.isfile(path) and file.startswith("P"):
            print 'Removing file that starts with P...'
            os.unlink(path)

使用
os.walk
遍历目录

import os

starting_directory = u'.'
for root, dirs, files in os.walk(starting_directory):
    path = root.split('/')
    for file in files:
        if file.startswith('p'):
             os.remove(os.path.join(os.path.basename(root), file))

对于文件夹中的文件名:
不会执行您希望它执行的操作。请使用
操作系统。遍历目录中的所有文件夹/文件。将所有要删除的操作添加到新列表中,然后使用
os.unlink
。仔细检查你的清单,这样你就不会意外地删除任何重要的东西
import os

starting_directory = u'.'
for root, dirs, files in os.walk(starting_directory):
    path = root.split('/')
    for file in files:
        if file.startswith('p'):
             os.remove(os.path.join(os.path.basename(root), file))