簡體   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