![](/img/trans.png)
[英]Python utility fails to successfully run a non-Python script that uses relative paths
[英]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.