我有一个大型数据聚合软件应用程序,它使用 xml 文件作为主要输入。我在每个常规级别都尝试过排除原因。当作为独立脚本运行时,它运行良好。在 MS Visual Studio Code 中运行时,在 xml 处理代码中异常会失败,但会返回到上面两级例程的异常处理程序。异常字符串是“期望一个 int” 我是一名 60 多岁的职业程序员,最近从 Wing IDE 转移到 MSVSC,我尝试创建一个小测试用例,但没有成功。我可以移动模块中失败的代码,它只是在其他一些不合理的地方爆炸。注意:我还有许多其他大型 python 应用程序,我使用 MSVSC 没有问题。如果我正在调试 C 应用程序,这显然是一个内存错误,但它在调试器之外运行,并且 python 通常不会出现像 C 这样的内存问题。
您遇到的问题(您的 Python 应用程序在独立运行时可以正确处理 XML 文件,但在 Visual Studio Code (VS Code) 中引发“期望 int”异常)可能源于多个因素。让我们探讨潜在的原因和解决方案:
环境差异: • Python 解释器:确保VS Code 配置为使用与独立环境相同的Python 解释器。解释器版本或环境的差异可能会导致行为差异。 • 依赖性:验证所有必需的库和模块均已安装并且在两个环境中保持一致。缺少或不匹配的依赖项可能会导致意外错误。
异常处理和调试: • 详细日志记录:增强异常处理以记录详细的错误消息,包括堆栈跟踪。这可以帮助查明“期望 int”异常的起源。 • 隔离测试:创建复制问题的最小测试用例。这种方法可以帮助隔离有问题的代码并确定问题是否特定于 VS Code。
VS代码配置: • 扩展:禁用可能干扰Python 环境的不必要的扩展。某些扩展可能会导致冲突或意外行为。 • 设置:检查您的 VS Code 设置,尤其是与 Python 和调试相关的设置,以确保它们与您的独立环境保持一致。
XML 解析注意事项: • 解析器行为:不同的XML 解析器可能以不同的方式处理数据类型。确保您使用的解析器在不同环境中保持一致,并且可以正确解释 XML 数据类型。 • 数据验证:实施验证检查以确保 XML 数据在处理前符合预期的格式和类型。
外部资源: • 开发者社区中已经讨论了类似的问题。例如,Stack Overflow 线程解决了在 Python 中使用 lxml 解析 XML 时遇到的异常。 
通过系统地检查这些区域,您可以识别并解决独立脚本与其在 VS Code 中执行之间的差异。