如何使当前文件夹路径适用于我的命令

时间:2017-03-10 04:43:18

标签: python blender

我是Python的新手并且真的希望这个命令能够工作所以我一直在谷歌上寻找,但我仍然无法找到任何解决方案。我试图制作一个删除我的Blender游戏所在文件夹内的文件夹的脚本,所以我一直在尝试这些命令:

import shutil
from bge import logic
path = bge.logic.expandPath("//")

shutil.rmtree.path+("/killme")  # remove dir and all contains

我要删除的文件夹名为" killme"我知道你可以这样做:shutil.rmtree(Path)

但我希望路径从游戏所在的文件夹开始,而不是完整的C:/ programs / blabla / blabla / test / killme路径。

如果有人能解释,请高兴。

3 个答案:

答案 0 :(得分:0)

我认为你正在以错误的方式使用shutil.rmtree命令。您可以使用以下内容。

shutil.rmtree(path+"/killme")

查看参考https://docs.python.org/3/library/shutil.html#shutil.rmtree
语法:shutil.rmtree(path,ignore_errors = False,onerror = None)
假设您当前的项目目录是' test'。然后,您的代码将如下所示:

import shutil
from bge import logic
path = os.getcwd() # C:/programs/blabla/blabla/test/
shutil.rmtree(path+"/killme")  # remove dir and all contains
  


注意:如果文件只在文件夹中读取,则会失败。

希望它有所帮助!

答案 1 :(得分:0)

您可以做的是设置基本路径,如

basePath = "/bla_bla/"

然后追加路径并使用类似:

shutil.rmtree(basePath+yourGamePath)

如果您将python作为所需文件夹中的独立脚本执行,则可以执行以下操作:

#!/usr/bin/env_python
import os
cwd = os.getcwd()
shutil.rmtree(cwd) 

希望我的回答很有帮助

答案 2 :(得分:0)

您可以做的最好的事情是使用 os 库。

然后使用os.path函数,您可以列出所有目录和文件名,因此可以删除/修改所需的文件夹,同时以您想要的方式提取文件夹的名称。

for root, dirnames, files in os.walk("issues"):
        for name in dirnames:
           for filename in files:
              *what you want*