Python processing 3为什么当前工作目录有时不同?

Python processing 3为什么当前工作目录有时不同?,python,processing,Python,Processing,在处理Python的mac时,我有时会遇到这个错误。似乎没有任何原因,有时当前工作目录会变成您在图像中看到的目录,而有时它是pyde文件所在文件夹的工作目录 你知道为什么会这样吗 为了避免这些问题,我总是尝试使用绝对路径。对于文件路径,我建议您尝试以下方法: import os # This will be the path to your .py file FILE_PATH = os.path.dirname(os.path.abspath(__file__)) # This will

在处理Python的mac时,我有时会遇到这个错误。似乎没有任何原因,有时当前工作目录会变成您在图像中看到的目录,而有时它是pyde文件所在文件夹的工作目录

你知道为什么会这样吗


为了避免这些问题,我总是尝试使用绝对路径。对于文件路径,我建议您尝试以下方法:

import os

# This will be the path to your .py file
FILE_PATH = os.path.dirname(os.path.abspath(__file__))

# This will be the path to your text file, if it is in the same directory as the .py
LEVELS_FILE_PATH = os.path.join(FILE_PATH, "levels.txt")
然后,您可以使用以下内容代替当前的open语句:

f = open(LEVELS_FILE_PATH, 'r')

您是否使用特殊程序来可视化您的游戏?这可能就是问题所在,肯定不是python代码。也许在打开文件后尝试关闭它?这可能是很多东西。我会在谷歌上搜索“如何访问python中的文件”,一个常见的初学者错误是假设python将在保存脚本的目录中运行。但事实并非如此;它将在您当前的工作目录中运行。正如名字所说,“当前工作目录”是您当前正在工作的目录(“shell所在的位置”),而不是您的脚本始终所在的目录。相关:为了避免出现问题,您应该在open()中使用
至少要确保文本文件始终正确关闭