例如: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...