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

2021-09-01 00:06:34 字數 1338 閱讀 2188

目錄

1.問題描述

2. 解決方法

2.1   獲取呼叫的指令碼路徑

2.2執行python指令碼

3.總結

python版本:python3.7

os平台:windows7

python 指令碼執行的時候去呼叫執行其他指令碼,使用getcwd() 獲取指令碼路徑不對。

指令碼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.path[0]

execpath=curpath+"\\other\\t.py"

#獲取需要執行的指令碼路徑

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

此命令用來執行系統命令。

執行系統命令時當前的指令碼會暫停等待呼叫的腳步執行完畢。

import os,sys

print("file:"+__file__)#獲取指令碼檔名

print("abspath:"+os.path.abspath(__file__))#獲取執行指令碼的絕對路徑

#獲取執行指令碼的路徑,指令碼巢狀呼叫時使用此功能來獲取路徑

print("curdir:"+sys.path[0])

#獲取當前的執行環境路徑

print("cwddir:"+os.getcwd())

shell指令碼中呼叫其他指令碼

目前來說有三種方法 1.指令碼絕對路徑 這個方式是最普通的,底層呼叫的是fork實現,執行的時候開乙個子shell執行呼叫的指令碼,子shell執行的時候,父shell還在 子shell執行完畢後返回父shell,子shell從父shell繼承環境變數,但是子shell中的環境變數不會帶回父shel...

簡單了解python呼叫其他指令碼方法例項

1.用python呼叫python指令碼 usr local bin python3.7 import time import os count 0 str python b.py result1 os.system str print result1 while true count coun 1...

3種python呼叫其他指令碼的方法

1.用python呼叫python指令碼 usr local bin python3.7 import time import os count 0 str python b.py result1 os.system str print result1 while true count count ...