得到函式所在指令碼的絕對路徑

2021-07-11 17:59:26 字數 2030 閱讀 4008

例如:test.py中引用define.py中的變數。兩個指令碼不在同一目錄下。我想知道define.py指令碼的絕對路徑

目錄結構

root

|——define.py

|——file_util.py

|——test

|——test.py

主要**為

script_path=inspect.getfile(inspect.currentframe())

define.py指令碼

#!/usr/bin/python

# encoding:utf-8

import inspect

import os

def get_root_path():

script_path=inspect.getfile(inspect.currentframe())

root=os.path.dirname(script_path)

return root

cur=get_root_path()

g_xcf_root=os.sep.join((cur,"..","dy_cike_xcf"))

g_xcf_assets=os.sep.join((g_xcf_root,"assets"))

g_xcf_config=os.sep.join((g_xcf_assets,"config"))

g_xcf_cocos=os.sep.join((g_xcf_assets,"cocostudio"))

g_xcf_skeleton=os.sep.join((g_xcf_assets,"skeleton"))

g_xcf_font=os.sep.join((g_xcf_assets,"font"))

g_working_root=os.sep.join((cur,"android","assets"))

g_working_config=os.sep.join((g_working_root,"config"))

g_working_skeleton=os.sep.join((g_working_root,"skeleton"))

g_working_font=os.sep.join((g_working_root,"font"))

file_util.py

#!/usr/bin/python

# encoding:utf-8

r'''

處理檔案

'''import os

__author__ = 'andrew'

def list_files_with_filter(root, suffix):

hint="list_files_with_filter"

print("hint = , root=".format(hint,root))

os_listdir = os.listdir(root)

for f in os_listdir:

if (f.endswith(suffix)):

path = os.sep.join((root, f))

yield path

test.py

#!/usr/bin/python

# encoding:utf-8

import define

import file_util

if __name__=="__main__":

paths=file_util.list_files_with_filter(define.g_xcf_font,".fnt")

#通過yield獲得的paths是乙個生成器generator,不是列表

#只能list(paths)轉換為列表,或者在for in中使用

print(", ".format(paths,type(paths)))

for p in paths:

print("p ".format(p))

得到類的「絕對路徑」

我們在很多時候,都希望使用檔案的絕對路徑做一些事。但是方法不當的話,這個需求就很難實現了,特別是對一些newer而言,絕對路徑的問題很可能會給他們帶來很大的困擾。所以我把自己常用的乙個取得絕對路徑的方法和大家分享一下,希望對大家有所幫助。private string getclasspath str...

JS獲取本地檔案所在的絕對路徑

用filesystemobject 建立資料夾 filesystemobject.createfolder 刪除資料夾 folder.delete 或 filesystemobject.deletefolder 移動資料夾 folder.move 或 filesystemobject.movefol...

得到classpath和當前類的絕對路徑的一些方法

from 下面是一些得到classpath和當前類的絕對路徑的一些方法。1.this.getclass getresource 得到的是當前類class檔案的uri目錄。如 file d workspace jbpmtest3 bin com test 2.this.getclass getreso...