我似乎无法从我的 CGI 脚本打开和写入文本文件。我不断收到权限错误(我从 CGITb 看到)
每当我尝试这样做时:
f = open("/Users/varatis/Documents/data.txt","a+")
我明白了:
<type 'exceptions.IOError'>: [Errno 13] Permission denied: '/Users/varatis/Documents/data.txt'
args = (13, 'Permission denied')
errno = 13
filename = '/Users/varatis/Documents/data.txt'
message = ''
strerror = 'Permission denied'
理想情况下,我想创建文本文件。但是为了让服务器更容易,我尝试通过制作预制的 data.txt 并运行通常的方式来使事情变得更容易:
chmod a+x data.txt
chmod a+w data.txt
chown 70 data.txt (70 is the uid the server runs on, obtained by os.getuid from the os module)
然而,这些似乎都不起作用。有没有人有这方面的经验并且可以帮助我?同样,理想情况下,我从 CGI 脚本附加到文本文件,如果它不存在则创建它。
此外,对于 data.txt,可能会使用 ls -la:
-rwxrwxrwx@ 1 _www staff 0 Mar 12 16:18 data.txt
最佳答案
很可能您的网络服务器没有写入该特定目录的权限。 如果它是一个 apache,那么你可能想要摆弄“Directory”指令。
更新: Documents 目录的权限是什么?
关于Python CGI 权限错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9674320/