嘿伙计们我试图制作一个简单的程序来清理用户输入收集的导演。 AKA用户输入“E:”表示删除,输入“F:”表示删除。但我不能让它工作使用shutil。
我似乎无法找到一种方法来存储用户输入,让shutil使用它来删除!
我是python和编程的新手,所以我可能会犯一些愚蠢的错误。
编辑:我需要它以便用户输入以列表的形式存储,然后我可以运行shutil来删除列表中存储的所有导演import shutil
DeleteThis = {}
def DirectoryToDelete():
DirectoryToEnter = input('Enter Filepath of directory you want to delete: ')
DeleteThis.append(DirectoryToEnter)
print (DeleteThis)
shutil.rmtree(DeleteThis)
答案 0 :(得分:0)
将字符串用于shutil并使用os.path.isdir检查您的目录:
import shutil
import os.path
while True:
directory = input('Enter Filepath of directory you want to delete: ')
if os.path.isdir(directory):
shutil.rmtree(directory)
print "Directory was deleted!"
else:
print "Bad directory"
答案 1 :(得分:0)
JRazors的修改回答:
import shutil
import os.path
import readline
#allow tab completion in input
readline.parse_and_bind("tab: complete")
delete_this = input('Enter Directories you want to delete separated by comma: ')
for d in delete_this.split(','):
d=d.strip()
if os.path.isdir(d):
shutil.rmtree(d)
print("{} deleted".format(d))
查看以逗号分隔的文本以查找要删除的目录。
使用示例
python delete_dir.py
Enter Directories you want to delete separated by comma: fo<tab>
foo1/ foo2/ foo3.txt
Enter Directories you want to delete separated by comma: foo1,foo2
foo1 deleted
foo2 deleted