
import sys
import ospath
package = "foo"
resource = "barini"
# pkgutilget_data(package, resource)
ospathabspath(ospathjoin(ospathdirname(sysmodules[package]__file__), resource))
如果你说的是包的资源文件,可以用上面的方法获取资源文件的绝对路径。
#encoding:utf-8
import os
#设置文件夹所在路径,我这里设置哦当前路径
path = '/'
#列出路径下所有的一级目录+文件
files = oslistdir(path)
print files
#利用递归,列出目录下包括子目录所有的文件及文件夹(但是没有分级,如果需要分级,自己写吧)
files1 = []
def listfiles(path):
for i in oslistdir(path):
if ospathisdir(path+i):
files1append(i)
listfiles(path+i)
else:
files1append(i)
listfiles(path)
print files1
python有个魔术变量__file__ #(前后各两个下划线)。这个变量就是当前文件的绝对路径。
再利用Pyhon自带的os模块中的path模块可以处理路径,分理出目录和文件名。以下是示例代码。
import osfolder,filename=ospathsplit(__file__)
print(folder,filename)
不明白可追问。
除了osgetcwd()这个方法,还可以通过ospathabspath('')的方法获取当前路径,你试试。
但是我无法重现你的问题,所以不知道ospathabspath('')是否管用。按照你的表述,我写了下面这个测试程序
==================================
import os
print osgetcwd()
import win32comclient
xlApp = win32comclientDispatch('ExcelApplication') #打开EXCEL
xlBook = xlAppWorkbooksOpen('c:\\1xls')
xlSht = xlBookWorksheets('sheet1')
print str(xlShtCells(1,1)Value)
print osgetcwd()
xlBookClose(SaveChanges=1)
del xlApp
=================================
但是两次输出的地址都是一样的。
是不是你的程序还有那个细节没讲清楚?你可以追问。
希望能帮到你!
ospathabspath(path) //返回绝对路径
ospathdirname(path) //返回文件路径
ospathpardir //表示上一级目录
ospathjoin(path1[, path2[, ]]) //把目录和文件名合成一个路径
以上就是关于Python怎样得到资源文件的绝对路径全部的内容,包括:Python怎样得到资源文件的绝对路径、python怎么读取文件夹内容、如何使用Python获取文件所在目录和文件名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)