Python:在目录中向上一级引用文件的最佳方法?

use*_*489 3 python

我是Python的新手,遇到了一个问题,我觉得应该有一个相对直截了当的答案,而我还不太清楚。

我需要通过这种方式进行作业,因为我们的老师希望我们的GitHub文件夹在一个文件夹中包含所有代码,而在另一个文件夹中包含所有图像。

由于运行Python文件时我将位于Code文件夹中,因此有没有办法我可以引用Image文件夹?在本地,我知道我可以放置完整路径,但是由于这是通过GitHub的命令行完成的,因此我不确定完整路径甚至是引用该文件夹的方式。

+ Main GitHub Directory
    + Code Folder
       -My Python File
    + Image Folder
       -Images I want to use
Run Code Online (Sandbox Code Playgroud)

这只是我想做的一个示例程序:

from PIL import Image
image = Image.open('WeatherIcons/Code32.PNG')
image.show()
Run Code Online (Sandbox Code Playgroud)

如果“ WeatherIcons”是的子文件夹,那么它将起作用Code Folder,但是在同一级别时,则不会。有什么解决方案可以解决这个问题?

谢谢!

小智 6

使用路径:

../Image_Folder/Code32.png
Run Code Online (Sandbox Code Playgroud)


小智 5

#get parent directory:
import os
parentDirectory = os.path.abspath(os.path.join(os.getcwd(), os.pardir))

#now open your image
from PIL import Image
image = Image.open(os.path.join(parentDirectory, 'Image_Folder', 'Code32.PNG'))
image.show()
Run Code Online (Sandbox Code Playgroud)