呼叫其他python指令碼(指令碼目錄獲取)
阿新 • • 發佈:2018-12-21
目錄
1.問題描述
python版本:python3.7
OS平臺:windows7
python 指令碼執行的時候去呼叫執行其他指令碼,被呼叫的指令碼使用getcwd() 獲取的路徑不是被呼叫指令碼路徑,是當前執行指令碼的路徑
2.解決思路
2.1獲取呼叫的指令碼路徑
python 指令碼timerExec.py 目錄C:\user\administrator\timerExec.py
t.py 目錄C:\user\administrator\other\t.py
__file__ 使用獲取的為執行指令碼的路徑,通常是相對路徑。
用os.path.abspath(__file__)可以獲取絕對路徑,但是絕對路徑包含執行的指令碼檔名稱。
sys.path[0] 獲取的是指令碼的路徑
import os,sys
curPath=sys.paht[0]
execPath=curPath+"\\other\\t.py"
#獲取需要執行的指令碼路徑
2.2執行python指令碼
import os,sys
curPath=sys.paht[0]
execPath=curPath+"\\other\\t.py"
#獲取需要執行的指令碼路徑
#執行指令碼,先判斷指令碼是否存在
if os.path.exists(execPath):
os.system("python %s"%(execPath))
os.system("python %s"%(execPath))
3.總結
import os,sys
print("file:"+__file__)#獲取指令碼檔名
print("absPath:"+os.path.abspath(__file__))#獲取執行指令碼的絕對路徑
#獲取執行指令碼的路徑,指令碼巢狀呼叫時使用此功能來獲取路徑
print("curDir:"+sys.path[0])
#獲取當前的執行環境路徑
print("cwdDir:"+os.getcwd())