簡體   English   中英

Python中的相對路徑

[英]Relative path in Python

我正在編寫一些python代碼來生成相對路徑。 需要考慮的情況:

  1. 在同一文件夾下。 我想要 ”。” 或“。\\”,我都可以接受。
  2. 其他文件夾。 我想要像“。\\ xxx \\”和“ .. \\ xxx \\ xxx \\”

os.path.relpath()將生成相對路徑,但在開頭不帶。\\,在結尾不帶\\。 我們可以使用os.path.join(dirname,“”)最后添加\\。 但是我不知道如何在開頭添加“。\\”而不影響第一種情況(當它們位於同一文件夾和“ .. \\ xxx \\ xxx \\”下)。

它會給你相對路徑

import os
dir = os.path.dirname(__file__)
filename = os.path.join(dir,'Path')

relpath()函數將給出“ ..”語法,並給出從(第二個參數)開始的適當基數。 例如,假設您正在編寫類似腳本生成器的腳本,該腳本生成器使用相對路徑來生成代碼,如果工作目錄是如下所示的relpath()的第二個參數,並且您想在代碼中引用項目下的另一個文件,在上一層和兩層下一個目錄中,您將獲得“ ../blah/blah”。如果要在同一文件夾中添加路徑前綴,則只需使用“。”進行連接。 這將產生具有正確的操作系統特定分隔符的路徑。

print(os.path.relpath("/foo/bar/blah/blah", "/foo/bar/baz"))
>>> ../blah/blah

print(os.path.join('.', 'blah'))
>>> ./blah    

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM