jbe*_*rd4 1 python java xml resources module
我在PYTHONPATH上有一些XML文件,我想用它们在PYTHONPATH上的路径加载,而不是它们在文件系统上的(相对或绝对)路径.我可以简单地将它们作为Python模块中的字符串内联(yay multiline string literals),然后使用常规import语句加载它们,但是如果可能的话,我想将它们作为常规XML文件分开.在Java世界中,解决方法是使用Class.getResource方法,我想知道Python中是否存在类似的东西.
看看pkg_resources,它包含了包含在通用资源中的apis.它被认为与蟒蛇蛋一起使用,因此它可能是您需要的更多.
只是从文档中取得的一个例子:
import pkg_resources
my_data = pkg_resources.resource_string(__name__, "foo.dat")
Run Code Online (Sandbox Code Playgroud)
我不知道内置任何东西,但是类似下面的东西应该模仿行为(假设文件在本地磁盘上 - 我不相信PYTHONPATH支持非本地文件路径,而Java类路径可以包含远程资源的URL).
def get_pypath_resource(resource_name):
for path in sys.path:
if os.path.exists(os.path.join(path, resource_name)):
return os.path.join(path, resource_name)
raise Exception('Resource %s could not be found' % resource_name)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1089 次 |
| 最近记录: |