删除特殊目录Python的内容(Windows)

时间:2012-12-05 17:49:49

标签: python windows

我有非常基本的Python知识,不幸的是它非常基本,我不知道如何做我想做的事情。我做了一些搜索,我找到了问题的一半答案。

计划是删除文件夹的内容,但由于用户名,系统与系统的目录不同。假设该目录是'C:\ Users \ USER \ Documents \ VideoEditor \ JunkFiles',但我希望它能够尝试删除所有不同版本的文件。这是一个示例列表: 'C:\用户\ USER \文件\ VideoEditor09 \ JunkFiles' 'C:\用户\ USER \文档\ VideoEditor10 \ JunkFiles' 'C:\用户\ USER \文件\ VideoEditor11 \ JunkFiles'

基本上,

无论用户名是什么,我怎么告诉它目录在哪里? 如何告诉它删除指定目录的内容,但保留文件夹(如果可能)?

谢谢!

西奥。

3 个答案:

答案 0 :(得分:0)

您可以尝试以下内容:

import os
user = 'some_user_name'
videoEditors = ['VideoEditor09','VideoEditor10','VideoEditor11']
for i in videoEditors:
    os.chdir('C:\Users\%s\Documents\%s\JunkFiles'%(user,i))
    files = os.listdir('.')
    for file in files:
        os.remove(file)

我在这里使用的主要内容是Python os package以及要浏览的所需文件夹列表。 '%s'也是Python string formatting的一部分。

希望这有帮助!

答案 1 :(得分:0)

您可以访问用户的文档目录,如下所示:

>>> import os
>>> documents = os.path.join(os.environ['USERPROFILE'], 'Documents')
>>> documents
'C:\\Users\\poke\\Documents'
>>> directories = [os.path.join(documents, 'VideoEditor{0}\\JunkFiles'.format(y)) for y in ('09', '10', '11')]
>>> directories
['C:\\Users\\poke\\Documents\\VideoEditor09\\JunkFiles', 'C:\\Users\\poke\\Documents\\VideoEditor10\\JunkFiles', 'C:\\Users\\poke\\Documents\\VideoEditor11\\JunkFiles']

然后你可以循环浏览目录的文件来删除它们,或者如果删除文件夹也没问题(你可以再次创建它们),你也可以只使用shutil.rmtree

>>> import shutil
>>> for directory in directories:
        shutil.rmtree(directory)

答案 2 :(得分:0)

os.path.expanduser

>>> os.path.expanduser('~')
'C:\\Users\\falsetru'