<p>在您的注释中,您说图像与代码位于同一目录中,但是您显示的路径暗示您正试图从名为<code>Resources</code>的子目录加载图像:</p>
<pre><code>Character = pygame.image.load('Resources/MainCharFront.png')
</code></pre>
<p>因此,您可以通过使用以下方法从路径ans中删除该路径来解决问题:</p>
<pre><code>Character = pygame.image.load('MainCharFront.png')
</code></pre>
<p>然而,这不是我建议的方法。您最好将资源保存在一个单独的子目录中,如<code>Resources</code>,以尝试并保持组织。您说过您希望使用平面结构,将所有内容都放在一个文件夹中,因为您可以在具有不同文件系统的不同系统之间移动游戏。我将假设您在这些不同的系统上遇到了路径分隔符问题。不过,这相当容易处理</p>
<p>@larsks已经提出了一种很好的方法。不过,您不必走得太远,仍然能够保持资源中的结构</p>
<p>处理不同文件系统上不同路径分隔符的简单方法是使用<code>os.path.join()</code>将路径组件与文件系统相应的分隔符链接,如下所示:</p>
<pre><code>Character = pygame.image.load(os.path.join('Resources', 'MainCharFront.png'))
</code></pre>
<p>这将允许您在Windows、Linux等之间移动,而无需扁平化您的结构。<code>os.path.join()</code>可以将多个路径组件作为参数,而不仅仅是2个,因此您可以根据需要拥有尽可能多的层次结构。只需将路径字符串拆分为斜杠所在的单独字符串。像这样:</p>
<pre><code>os.path.join('Resources', 'images', 'MainCharFront.png')
</code></pre>
<p>您可以找到<code>os.path.join()</code>命令<a href="https://docs.python.org/3.8/library/os.path.html" rel="nofollow noreferrer">here</a>的文档</p>
<p>非常清楚地说,<code>os.path.join()</code>方法与标准的string join()方法不同(它使用您告诉它的分隔符连接字符串)。<code>os.path.join()</code>方法根据正在运行它的系统为您确定分隔符</p>