1. 程式人生 > >呼叫其他python指令碼(指令碼目錄獲取)

呼叫其他python指令碼(指令碼目錄獲取)

目錄

3.總結

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())