python 獲取執行python指令碼所在目錄

2021-07-09 11:48:28 字數 1470 閱讀 3497

今天按照libsvm官方指導手冊 使用libsvm 軟體包。

本來應該按照指導,進入tools目錄,然後執行命令python easy.py svmguide1 svmguide1.t,可是我的訓練檔案和測試檔案svmguide1和svmguide1.t都不在tools那個目錄下。

懶得切換工作目錄,於是很自然,我執行命令python libsvm-3.21/tools/easy.py svmguide1 svmguide1.t,可是報錯

traceback (most recent call last):

file 「libsvm-3.21/tools/easy.py」, line 28, in

assert os.path.exists(svmscale_exe),」svm-scale executable not found」

assertionerror: svm-scale executable not found

python 獲取當前指令碼檔案路徑目錄

# -*- coding: cp936 -*-

import sys,os

#獲取指令碼檔案的當前路徑

defcur_file_dir

():#獲取指令碼路徑

path = sys.path[0]

#判斷為指令碼檔案還是py2exe編譯後的檔案,如果是指令碼檔案,則返回的是指令碼的目錄,如果是py2exe編譯後的檔案,則返回的是編譯後的檔案路徑

if os.path.isdir(path):

return path

elif os.path.isfile(path):

return os.path.dirname(path)

然後,我把easy.py指令碼改為

path = sys.path[0]

if os.path.isfile(path):

path = os.path.dirname(path)

print(path)

pathdir = path

is_win32 = (sys.platform == 'win32')

ifnot is_win32:

svmscale_exe = pathdir + "/../svm-scale"

svmtrain_exe = pathdir + "/../svm-train"

svmpredict_exe = pathdir + "/../svm-predict"

grid_py = pathdir + "/grid.py"

gnuplot_exe = "/usr/bin/gnuplot"

現在執行python libsvm-3.21/tools/easy.py svmguide1 svmguide1.t,ok一切正常。

用python 來獲取當前電腦及python的資訊

coding utf 8 執行當前指令碼來獲取當前電腦及python的配置資訊。import sys,platform 先看python。a sys.version info print 當前python版本號是.format a a ret 當前作業系統 plat form platform.pl...

本地Python執行遠端伺服器Python指令碼

情景 區域網內一台pc或伺服器 windows或linux 上有一python指令碼,如何執行它?常用的兩種 遠端桌面和xshell遠端連線 那假如想要不通過以上兩種方式的前提下執行它,可行麼?怎麼辦?答案是肯定的 coding utf 8 author lihaizhen date descrip...

如何在LINUX UNIX上執行PYTHON程式

編寫python 程式的方法與 shell 指令碼類似。例如,要編輯乙個名為 try python 的python 程式檔案,輸入如下命令。pico try python 下面輸入一段簡單的 python 來檢查它是否工作。usr bin env python print 2 2 第一行告訴 she...