在 Kubuntu Linux 上使用 PyCharm 我通过添加条目来修改 XML 文件并将更改写入新文件,但该文件没有创建,也没有显示错误:
import xml.etree.ElementTree as ET
if __name__ == ('__main__:'):
tree = ET.parse('/home/qual/PycharmProjects/Automation_learn/ip_phone_cfg.xml')
root = tree.getroot()
child = ET.Element('ELEMENT_NAME')
child.text = '192.168.10.12'
root.append(child)
tree.write('/home/qual/PycharmProjects/Automation_learn/ip_phone_cfg2.xml')
有什么问题?对于创建文件的文件夹,我是否需要额外的权限?
该代码看起来不错,并且应该可以在没有额外权限的情况下在你指定的路径中创建文件,假设 Python 脚本具有写入该目录的权限。 以下是一些可以帮助你解决此问题的故障排除步骤:
1. 检查文件是否存在:
-
显式路径:
不要依赖你的工作目录。在你的代码中,尝试将完整路径添加到你的
tree.write
语句中,例如:python tree.write('/home/qual/PycharmProjects/Automation_learn/ip_phone_cfg2.xml')
-
文件浏览器:
在你的文件浏览器中手动导航到
/home/qual/PycharmProjects/Automation_learn
。ip_phone_cfg2.xml
是否存在?
2. 权限错误:
-
终端检查:
打开终端并导航到
/home/qual/PycharmProjects/Automation_learn
目录。运行ls -l
来查看文件权限。你对该目录是否有写权限? -
权限授予:
如果缺少写权限,你可以使用以下命令授予它们(
小心使用!
):
bash sudo chmod -R u+w /home/qual/PycharmProjects/Automation_learn
3. PyCharm 问题:
- 运行配置: 有时 PyCharm 的运行/调试配置可能会导致工作目录出现问题。验证配置中是否正确设置了工作目录。
- 重新启动 PyCharm: 这听起来很简单,但重新启动 IDE 有时可以解决奇怪的问题。
4. 代码中的异常:
-
try...except
块: 将你的tree.write
语句包装在一个try...except
块中,以捕获任何潜在错误:
```python import xml.etree.ElementTree as ET
if name == ' main ': try: tree = ET.parse('/home/qual/PycharmProjects/Automation_learn/ip_phone_cfg.xml') root = tree.getroot()
child = ET.Element('ELEMENT_NAME')
child.text = '192.168.10.12'
root.append(child)
tree.write('/home/qual/PycharmProjects/Automation_learn/ip_phone_cfg2.xml')
except Exception as e:
print(f"发生错误:{e}")
``` 此代码将打印发生的任何错误,为你提供更多有关问题的信息。
如果在尝试了这些步骤后仍然遇到问题,请提供以下信息,以便我能够进一步帮助你:
-
在你尝试写入文件后打印
tree.write
的返回值。 - 在终端中运行代码时的任何错误消息。
- 你正在使用的 PyCharm 版本。