python - 使用 PEX 时无法引用本地 WSDL 文件
问题描述
我有一个关于 pex 构建的问题。所以我们有这个项目结构,我们正在尝试用它构建一个 pex 文件。它有一个需要在代码中引用的 WSDL 文件。无论我做什么,当我运行 pex 文件时,它都会引发异常: File Not Found 。有谁知道如何解决它?我对 Python 相当陌生。
以下是文件夹结构 -
Main_Folder
Util
util1.py
main.py
WebService.xml
我试过这个:
path = os.path.join(os.path.abspath(__file__), 'WebService.xml')
url = urllib.parse.urljoin('file:', urllib.request.pathname2url(os.path.abspath(path)))
解决方案
欢迎来到 StackOverflow。如错误所示,路径设置不正确。
os.path.abspath(__file__)
-> 为您提供文件的绝对路径。如果我从名为 main.py 的文件运行此代码,则会得到以下输出。
C:\Users\User1\Desktop\main.py
os.path.join 示例
# Path
path = "/home"
# Join various path components
print(os.path.join(path, "User/Public/", "Documents", ""))
输出
/home/User/Public/Documents/
-> 如您所见,它加入了目录。
所以你现在应该能够看到你遇到的问题。你的路径变量将包含这样的东西
C:\Users\User1\Desktop\main.py\WebService.xml
所以只要把它改成这个 `path = os.path.abspath('WebService.xml')
您可以在此处阅读有关 os 模块的更多信息
推荐阅读
- go - 尝试在新创建的目录中创建文件时出现“权限被拒绝”?
- unity3d - 在 Unity 中设置 Google Play 游戏时,我不断收到 Invalid Classname: Ambiguous match found 错误
- c# - 统一更新 Update() 中的属性值时的性能和优化
- python - AJAX 网页抓取时未接收到所有文本/json 数据
- acumatica - 寻求帮助使用 VFP 为 acumatica 开发 vfp API
- ios - 为什么需要将配置文件设置为用于调试和发布的分发?
- amazon-web-services - 结合 Azure Devops 和 AWS AutoScaling
- javascript - 尝试使用 javascript 创建汉堡菜单但代码未运行
- python - 将 Excel 文件导出为 PDF 格式而不丢失超链接功能
- c# - .Net Core 3 Blazor 服务器 - 如何使用声明进行基本登录?