【问题标题】:Using variable in file path in Python在 Python 的文件路径中使用变量
【发布时间】:2018-11-26 16:32:36
【问题描述】:

我发现了与此类似的问题,但找不到确切的答案,而且我很难让它发挥作用,因此非常感谢任何帮助。

我需要在每次运行一些自动化测试时更改的文件夹结构中找到一个 XML 文件。

这段代码绝对没问题:

import xml.etree.ElementTree as ET
import glob

report = glob.glob('./Reports/Firefox/**/*.xml', recursive=True)
print(report)

我得到一个返回的路径。然后我想在变量“report”中使用该路径并在 XML 文件中查找文本。

如果 python 文件与 XML 文件位于同一目录中,则以下代码可以找到文本正常。但是,我需要将 python 文件驻留在父文件中,并将“报告”变量传递到下面的第一行代码中。

tree = ET.parse("JUnit_Report.xml")
root = tree.getroot()

for testcase in root.iter('testcase'):
    testname = testcase.get('name')
    teststatus = testcase.get('status')
    print(testname, teststatus)

我是 Python 的真正初学者,这可能吗?

【问题讨论】:

  • “我需要 python 文件驻留在父文件中并传递报告变量”,您的意思是您需要 Python 文件驻留在父 目录 ,并将报告文件的位置传递给tree变量?
  • using regex can get a pattern matching text 如果你需要获取一个元素及其属性。参考element using lxml
  • 是的@Random Davis,抱歉,我应该更清楚一点
  • @S.Bunyard 不用担心,只需确保编辑任何澄清原始问题,以便提供最大帮助。

标签: python


【解决方案1】:

构建报告文件的绝对路径:

report = glob.glob('./Reports/Firefox/**/*.xml', recursive=True)
abs_path_to_report = os.path.abspath(report)

将该变量传递给你想要的任何东西:

tree = ET.parse(abs_path_to_report )

【讨论】:

    猜你喜欢
    • 2018-09-29
    • 1970-01-01
    • 2015-06-23
    • 1970-01-01
    • 2021-03-13
    • 2011-05-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多