gpt4 book ai didi

python - python 在脚本中哪里查找文件?

转载 作者:行者123 更新时间:2023-11-30 23:37:43 24 4
gpt4 key购买 nike

所以我刚刚为标题屏幕编写了此类,并且效果很好。然而,与我一起参与该项目的人之一提到我不应该使用:

os.chdir(os.getcwd() + "/..")

resource = (os.getcwd() + "/media/file name")

进入 super 目录。不过他确实提到了一些关于 pythonpath 的事情。如果这有帮助的话,我们正在使用 Eclipse。

为了获得更多上下文,我们正在制作一个多平台游戏,因此我们不能仅仅同步我们的目录并对其进行硬编码(尽管我们使用 git 因此工作目录是同步的)。基本上,我需要某种方法从“src”文件夹中的脚本文件到旁边的“media”文件夹(又名有一个 super (项目)文件夹,其中包含“src”和“media”文件夹) .

任何帮助将不胜感激,但请不要说“谷歌它”,因为我在来这里之前尝试过(我不知道这是否在这里很常见,但我在其他地方见过太多次了) ...当我用谷歌搜索答案时,抱歉,如果我这样说听起来很 SCSS )

最佳答案

Python 程序确实有当前工作目录的概念,它通常是运行脚本的目录。这是带有相对路径的“他们寻找文件的地方”。

但是,由于您的程序可以从与其所在的文件夹不同的文件夹运行,因此您的引用目录需要引用脚本所在的目录> (一般来说,当前目录与脚本的位置相关)。找到脚本的目录是通过

获得的
script_dir = os.path.dirname(__file__)

请注意,此路径可以是相对路径(可能为空),因此脚本的当前工作目录与 python 解释器读取脚本时的目录(即 __file__ 时)相同仍然很重要。已设置)。转换可能相对的 script_dir 很重要如果当前工作目录稍后在代码中更改,则转换为绝对路径:

# If script_dir is relative, the current working directory is used, here. This is correct if the current
# working directory is the same as when the script was read by the Python interpreter (which is
# when __file__ was set):
script_dir = os.path.abspath(script_dir)

然后您可以进入目录media在父目录中与平台无关

os.path.join(script_dir, os.path.pardir, 'media')

事实上os.path.pardir (或等效的 os.pardir )是独立于平台的父目录约定,并且 os.path.join()只需以独立于平台的方式连接路径即可。

关于python - python 在脚本中哪里查找文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15216784/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com