在python中创建.html文件时权限被拒绝

时间:2012-10-10 18:23:05

标签: python

所以这是我的第一次python体验。我有一个文件夹列表,我正在尝试转换为HTML页面。为此,我有以下代码:

import inspect, os, errno, markup
path =  os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))+'/www/img/'
print path

for f in os.listdir(path):
  counter = 1
  page = markup.page()
  page.init(charset="UTF-8")
  from markup import oneliner as e
  page.a(e.img(src='img/'+f, width=1024, height=768), href='')
  final = open('/index'+str(counter)+'.html','w')
  final.write(page)

我收到IOError: [Errno 13] Permission denied: '/index1.html'消息.... 任何线索或想法都非常感激。谢谢!

3 个答案:

答案 0 :(得分:2)

我认为主要问题与根文件夹(/)的文件权限有关。尝试以root身份运行脚本或选择一些您确定具有写入权限的目录。

答案 1 :(得分:1)

您的问题出在此处:open('/index'+str(counter)+'.html','w')

以'/'开头的路径是绝对路径,无论您当前的目录是什么。 而且它不是特定的python。

答案 2 :(得分:0)

假设你正在使用Unix / Linux(通过正斜杠),任何以/开头的路径都是绝对的。因此,您尝试将名为index.html的文件写入文件系统的根目录。只有root才能做到这一点。

如果您希望路径是相对的,请更改:

final = open('/index'+str(counter)+'.html','w')

为:

final = open('index'+str(counter)+'.html','w')

请注意/

前面缺少的index