python文件調用中相對路徑、絕對路徑的使用

當我們需要調用一個文件中的依賴於某個文件的方法時,可能遇到相對路徑和絕對路徑的使用。比如說調用通過私鑰登錄服務器的方法。由於祕鑰文件使用了相對路徑,在這裏插入圖片描述
在調用該方法時,會出現文件不存的的提示。
在這裏插入圖片描述
也就是說,通過相對路徑找不到私鑰文件。首先,看一下在方法被調用時的路徑(在腳本中添加下面的代碼)

import sys
import os

def OppositePath():
    """相對路徑"""
    dirname, filename = os.path.split(os.path.abspath(sys.argv[0]))
    print dirname
    
OppositePath()

再次執行腳本,控制檯輸出
在這裏插入圖片描述
也就是說,調用私鑰登錄服務器方法時的路徑不是方法的原路徑,自然也就找不到私鑰文件。
在指定私鑰文件路徑時,使用絕對路徑,保證正確的使用私鑰文件(使用絕對路徑)。

def AbsolutePath():
    """絕對路徑"""
    dirname, filename = os.path.split(os.path.abspath(__file__))
    #print dirname # 輸出當前文件的絕對路徑
    return dirname
   
dirname = AbsolutePath()
private_key_path = dirname + '\private'

再次調用私鑰登錄服務器方法成功!

發佈了47 篇原創文章 · 獲贊 18 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章