[英]Best way to store XML needed for api calls in a Python Package
我有一个关于在我正在构建的 python 包中进行 API 调用所需的 XML 数据的存储位置的问题。 对于我的包中的一些 API 调用,我需要在请求中提供一个二进制 xml 字符串。 现在我正在从保存我的源代码的同一目录中读取它。在我的项目通过 pip 打包和安装后,存储此 XML 以在运行时使用的最佳方法是什么? 我从 setuptools 包中了解了package_data
,但我不确定在进行 API 调用时如何打开其中包含的文件。
下面是我当前如何执行这些 API 调用之一的示例。 和当前目录结构。
def make_api_call(self):
# line below just extracts creds for api call from db
API_CREDENTIALS = self.stage_request()
#request_input.xml contains xml needed to make request
data = open('./request_input.xml', 'rb').read()
r = requests.post(url='apiurl',data=data,auth=(API_CREDENTIALS[0], API_CREDENTIALS[1]),headers={'Content-Type': 'text/xml'})
-----Package
-------Packages
---------module1.py
---------module2.py
---------module3.py
---------request_input.xml
-----setup.py
-----README.md
要读取包数据,请使用以下方法之一...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.