我有一个正在开发的 Python 应用程序,它需要访问主机文件以附加几行。一切都在我的测试文件上运行,但是当我告诉程序实际修改 /etc/hosts 中的主机文件时,我得到 IOError 13。据我了解,我的应用程序没有 root 权限。
我的问题是,我该如何绕过这个问题?有没有办法提示用户输入密码?如果我在 Windows 机器上运行应用程序,这个过程会有什么不同吗?
这是有问题的代码:
f = open("/etc/hosts", "a")
f.write("Hello Hosts File!")
另外,我计划在最终产品中使用 py2app 和 py2exe。他们会为我处理 root 权限问题吗?