0

大家好,我想删除特定文件夹中的所有文件/文件夹,为此我编写了以下代码:(我想删除保存在 co_directory 中的目录中的所有文件/文件夹,但 packages_with_....txt 文件除外我有一个错误

def remove_file():

    remove="sudo rm -rf !(packages_with_diff_branches.txt|packages_with_same_branches.txt)"
    p = subprocess.Popen("""
    %s
    %s""" % (co_directory,remove),shell=True , executable='/bin/bash')
    p.wait()





/bin/bash: -c: line 3: syntax error near unexpected token `('
/bin/bash: -c: line 3: `    sudo rm -rf !(packages_with_diff_branches.txt|packages_with_same_branches.txt)'

有没有人可以帮助我?多谢

编辑 **co_directory 是全局变量**

4

1 回答 1

1

有几种方法可以做到这一点,而无需使用subprocess,

os模块,

import os

filesInDir= [ i for i in os.listdir("/path/to/dir") if i != "yourFile.txt" if i! = "yourFile.txt2" ]
for i in filesInDir:
    os.remove(i)
于 2013-08-22T14:53:12.653 回答