是否有一個函數可以從相對於另一個路徑返回絕對路徑?

PHPz
發布: 2024-02-05 23:15:08
轉載
1119 人瀏覽過

是否有一個函數可以從相對於另一個路徑返回絕對路徑?

問題內容

我需要能夠根據不同檔案中使用的路徑來確定檔案所在的位置。使用範例可能會更好:

這是目錄結構:

/ foo bar.txt text.txt bar main.go
登入後複製

在text.txt檔案中,bar.txt被./bar.txt引用,它可以工作,但是如果我嘗試使用filepath.abs("從main.go找到./bar.txt的絕對路徑./bar.txt")那麼它將回傳/bar/bar.txt因為它假設.是目前工作目錄。

來自文件: abs 返迴路徑的絕對表示。如果路徑不是絕對路徑,它將與當前工作目錄連接以將其轉換為絕對路徑。

我的問題是如何在 ./bar.txt時取得./bar.txt的絕對路徑。與text.txt相關。

很抱歉這個問題可能太複雜,但我無法想出更好的方式來展示範例。


正確答案


這個答案已經差不多了,但我設法修改它以適合我。

func getabs(path string, locationpath string) string { new_file_path := path new_abs_path := path if filepath.isabs(new_file_path) { new_abs_path = new_file_path } else { new_abs_path, _ = filepath.abs(filepath.join(locationpath, path)) fmt.println(new_abs_path, locationpath) } return new_abs_path }
登入後複製

只需將檔案的路徑新增至引用該檔案的檔案所在的目錄即可。

例如:

fmt.Println(getAbs("./bar.txt", "/foo")) //foo is the directory that text.txt is in which references bar.txt is in
登入後複製

以上是是否有一個函數可以從相對於另一個路徑返回絕對路徑?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!