我有非常基本的Python知识,不幸的是它非常基本,我不知道如何做我想做的事情。我做了一些搜索,我找到了问题的一半答案。
计划是删除文件夹的内容,但由于用户名,系统与系统的目录不同。假设该目录是'C:\ Users \ USER \ Documents \ VideoEditor \ JunkFiles',但我希望它能够尝试删除所有不同版本的文件。这是一个示例列表: 'C:\用户\ USER \文件\ VideoEditor09 \ JunkFiles' 'C:\用户\ USER \文档\ VideoEditor10 \ JunkFiles' 'C:\用户\ USER \文件\ VideoEditor11 \ JunkFiles'
基本上,
无论用户名是什么,我怎么告诉它目录在哪里? 如何告诉它删除指定目录的内容,但保留文件夹(如果可能)?
谢谢!
西奥。
答案 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('~')
'C:\\Users\\falsetru'