繁体   English   中英

为什么“tree = ElementTree.parse(f)”会在存在 arg 时给出错误“TypeError: parse() missing 1 required positional argument: 'source'”

[英]Why does “tree = ElementTree.parse(f)” give the error “TypeError: parse() missing 1 required positional argument: 'source'” while arg is present

我在函数定义中有一段代码,它是:

    try:
        with open(requests,'rt') as f:
            tree = ElementTree.parse(f)

字符串 requests 包含一个文件路径,显然该文件已打开。 在 .py 文件的开头,我有

from xml.etree.ElementTree import ElementTree

当我在 test.py 中尝试这些行并调用“python3 test.py”时,我没有收到错误消息,但是当我使用 python3 运行程序时,我收到以下错误消息:

    tree = ElementTree.parse(f)
TypeError: parse() missing 1 required positional argument: 'source'

然而,正如你所看到的,parse() 的位置参数是 f。 我确实放置了一个打印命令来检查请求的值,它显示了正确的文件名。

您应该在ElementTree实例上调用parse方法:

例如

from xml.etree.ElementTree import ElementTree
tree = ElementTree()
tree.parse("index.xhtml")

代码修复:

try:
        with open(requests,'rt') as f:
            tree = ElementTree()
            tree.parse(f)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM