【问题标题】:Python processing 3 why is current working directory different sometimes?Python处理3为什么有时当前工作目录不同?
【发布时间】:2021-01-10 11:18:06
【问题描述】:

我在 Mac 上使用 Processing for Python 工作时有时会收到此错误。似乎无缘无故,有时当前工作目录变成了您在图像中看到的内容,而其他时候它是 pyde 文件所在文件夹的工作目录。

关于为什么会发生这种情况的任何想法?

【问题讨论】:

  • 您是否使用特殊程序来可视化您的游戏?这可能就是问题所在,肯定不是python代码。也许在打开文件后尝试关闭文件?这可能是很多东西。我会谷歌“如何在 中访问 python 中的文件”
  • 一个常见的初学者错误是假设 Python 将在您保存脚本的目录中运行。但这不是它的工作原理。它将在你的当前工作目录中运行。
  • 顾名思义,“当前工作目录”是您当前工作的目录(“shell 所在的位置”),而不是您的脚本始终所在的目录。

标签: python processing


【解决方案1】:

为了避免此类问题,我总是尝试使用绝对路径。我建议你尝试这样的文件路径:

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')

【讨论】:

  • 为了避免出现问题,您应该考虑使用with open() as 或至少确保您的文本文件始终正确关闭
猜你喜欢
  • 2019-09-21
  • 1970-01-01
  • 2012-02-23
  • 2016-02-28
  • 2018-01-17
  • 1970-01-01
  • 2013-06-25
相关资源
最近更新 更多