试图从我的电脑中读取XML文件

2024-10-03 13:16:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试解析XML,或者更好的方法是测试我是否可以访问我的XML文件。但是我在这里得到了一个错误:

 >>>> DomTree = xml.dom.minidom.parse("usc01")
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
DomTree = xml.dom.minidom.parse("usc01")
File "C:\Python34\lib\xml\dom\minidom.py", line 1960, in parse
return expatbuilder.parse(file)
File "C:\Python34\lib\xml\dom\expatbuilder.py", line 910, in parse
with open(file, 'rb') as fp:
FileNotFoundError: [Errno 2] No such file or directory: 'usc01'

这是从pythonshell直接得到的,我试图将usc01.xml移到python34文件夹中,但是仍然出现了这个错误。

有人知道怎么解决这个问题吗?


Tags: inpyparselib错误linexmldom
1条回答
网友
1楼 · 发布于 2024-10-03 13:16:59

尝试使用绝对路径名,或更改到文件所在的目录。E、 g.要么

>>> DomTree = xml.dom.minidom.parse("c:\\Users\\somebody\\Desktop\\usc01.xml")

或者

^{pr2}$

当然,如果文件真的有.xml扩展名的话,还应该包括.xml扩展名。微软认为普通用户的大脑不能同时处理一个文件名和一个扩展名,但是对于文件系统来说,事情要比这复杂得多。。。:-)


更新:下面注释中的错误与文件内容有关,这些内容可能不是有效的unicode。如果不知道文件的位置2-3包含什么,很难说发生了什么。在

如果文件的内容采用默认编码以外的编码方式,并且需要翻译,则应首先适当地打开文件,然后将file对象传递给parse方法,例如:

>>> f = open("c:\\Users\\somebody\\Desktop\\usc01.xml", encoding="iso-8859-1")
>>> DomTree = xml.dom.minidom.parse(f)

相关问题 更多 >