繁体   English   中英

相对路径取决于我运行 python 脚本的位置

[英]Relative paths depend on where I run the python script

所以我有这个字体./files/resources/COMIC.TTF

我这样引用字体: font = pygame.font.Font('./files/resources/COMIC.TTF', 12)

所以我在 cmd python files/opencv_ball_tracker.py上运行了它,果然它可以工作。

但是,当我cd files然后运行python opencv_ball_tracker.py它失败并显示FileNotFoundError: [Errno 2] No such file or directory: './files/resources/COMIC.TTF'

无论我在哪里运行文件,我如何让它工作?

你可以使用绝对路径,所以如果你使用 windows 使用“C:/XXX/XXX/files/resources/COMIC.TTF”。

对于 linux/MAC 它是一样的,但是将 C:/ 更改为 UNIX 机器的相应一个(我知道对于 Mac 它将是 /Users/XXX/files/resources/COMIC.TTF)

编辑:如果您想使用相对路径,我认为您需要使用 python 脚本复制文件夹并使用其中的文件夹运行它或将其添加到您的 python 路径

一种方法是使用pathlib 语法有点不寻常,但它可以满足您的需求。 我在这里假设您正在执行的文件在根目录下运行。

from pathlib import Path
font_path = Path(__file__).parent / "files" / "resources" / "COMIC.TTF"
font_absolute_path = font_path.absolute()
print(font_absolute_path)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM