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

How do I make the current folder path to work for my command

我是 Python 的新手,我真的希望这个命令能正常工作,所以我一直在 google 上四处寻找,但我仍然找不到任何解决方案。我正在尝试制作一个脚本来删除我的 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 路径。

很高兴有人能解释一下。

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

shutil.rmtree(path+"/killme")

看参考https://docs.python.org/3/library/shutil.html#shutil.rmtree
语法:shutil.rmtree(路径,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


NOTE: It will fail if the files are read only in the folder.

希望对您有所帮助!

你可以做的是设置一个像

这样的基本路径
basePath = "/bla_bla/"

然后附加路径并使用类似的东西:

shutil.rmtree(basePath+yourGamePath)

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

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

希望我的回答对您有所帮助

你能做的最好的事情就是使用 os 库。

然后使用 os.path 功能,您可以列出所有目录和文件名,因此可以 delete/modify 所需的文件夹,同时以您想要的相同方式提取文件夹名称。

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